Sto cercando di ridimensionare un UIViewController presentato come un modale su iPad utilizzando UIModalPresentationFormSheet, e anche se ho preso a lavorare su < = iOS 7, non posso su iOS 8Ridimensionamento UIModalPresentationFormSheet su iOS 8
risposta
Per iOS 8 è necessario impostare la proprietà "preferredContentSize", ma per iOS 7 e precedenti è necessario impostare la proprietà superview.frame.
codice Esempio:
UIViewController* modalController = [[UIViewController alloc]init];
modalController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
modalController.modalPresentationStyle = UIModalPresentationFormSheet;
CGPoint frameSize = CGPointMake([[UIScreen mainScreen] bounds].size.width*0.95f, [[UIScreen mainScreen] bounds].size.height*0.95f);
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
// Resizing for iOS 8
modalController.preferredContentSize = CGSizeMake(frameSize.x, frameSize.y);
// Resizing for <= iOS 7
modalController.view.superview.frame = CGRectMake((screenWidth - frameSize.x)/2, (screenHeight - frameSize.y)/2, frameSize.x, frameSize.y);
UIViewController *vc = [[[[UIApplication sharedApplication] delegate] window] rootViewController];
[vc presentViewController:modalController animated:YES completion:nil];
questo dipende attivo se si utilizza UIPopoverPresentationController o UIPresentationController. Puoi provare a impostare la proprietà "preferredContentSize" come nuova dimensione del contenuto (la proprietà "contentSizeForViewInPopover" è deprecata in iOS 8).
ha fatto questo Lavoro per te? Fammi sapere se hai bisogno di aiuto. – kevinl
Ho infine eseguito una soluzione alternativa creando una visualizzazione personalizzata. Comunque segnerò la tua risposta come valida. Grazie! –
Per ridimensionare una vista s' UIViewController
, quando è già presentata con UIModalPresentationFormSheet
modale presentazione stile ed è visibile, utilizzare per iOS 8+:
self.preferredContentSize = CGSizeMake(width, height);
[UIView animateWithDuration:0.25 animations:^{
[self.presentationController.containerView setNeedsLayout];
[self.presentationController.containerView layoutIfNeeded];
}];
- 1. UIModalPresentationFormSheet su iPhone
- 2. Ridimensionamento di molle e montanti rotto su iOS 8 UITableViewCell
- 3. snapshotViewAfterScreenUpdate glitch su iOS 8
- 4. ptrace su iOS 8
- 5. Come disabilitare il ridimensionamento automatico delle app in iOS 8?
- 6. iOS 8 UIVisualEffect UIBlurEffect e Scaling/spostamento/ridimensionamento
- 7. posizione iTunesMetadata.plist su iOS 8
- 8. Visualizzazione NSMutableAttributedString su iOS 8
- 9. incidente misterioso su iOS 8
- 10. Confuso su NSImageView ridimensionamento
- 11. Impossibile selezionare il contatto su iOS 8
- 12. Raggiungibile su iOS 8 in ritardo?
- 13. SKStoreProductViewController non funziona su iPad iOS 8
- 14. Differenza tra NSURLSession su iOS 8 e iOS 9?
- 15. Avviso che può funzionare su iOS 7 e iOS 8
- 16. iOS: ridimensionamento UITextView con pinching?
- 17. Codice iOS Funziona su iOS 9 ma non su iOS 8?
- 18. Condivisione di video su Facebook su iOS 8
- 19. iOS 8 NavigationBar BackgroundImage
- 20. CLLocationManager iOS 8
- 21. iOS 8: web posizione barra di stato app e problemi di ridimensionamento
- 22. Qual è l'altezza di un UITabBar su iOS 8, iOS 9, iOS 10 e iOS 11?
- 23. Problema UIActivityViewController iOS 7 e iOS 8?
- 24. UIModalPresentationFormSheet Con angoli quadrati (0 raggio)?
- 25. Email composure iOS 8
- 26. non willRotateToInterfaceOrientation chiamati iOS 8
- 27. Disegno su telaImmagine ridimensionamento
- 28. IBOutlet sono nul su dispositivi iOS 8, ma funzionano bene su iOS 9 (Swift)
- 29. iOS 8 Cambio contenitore iCloud
- 30. iOS 8: AVFoundation Camera Fermo
dolce, quello ha fatto il trucco! –
a volte questo funziona solo se si imposta il ridimensionamento * dopo * si presenta il controller di vista – Micho
non funziona per iOS7 con XCode5 per me. funziona su iOS8 con XCode6 – JerryZhou