Sto lavorando su un'applicazione universale iPhone/iPad con storyboard universale. Per alcuni ViewController sto usando le classi di dimensioni se hanno un layout specifico su iPad.Wrong Size-Class di UIViewController mostrato con UIPopoverController
Ho un ViewController che deve essere presentato modalmente su iPhone ma su iPad deve essere mostrato in UIPopoverController.
UINavigationController *navigationController = [self.storyboard instantiateViewControllerWithIdentifier:@"ComposeMessageNavigationController"];
ComposeMessageViewController *viewController = (ComposeMessageViewController *)navigationController.topViewController;
//Prepeare my view controlller
...
if (IS_IPAD) {
UIPopoverController * popover = [[UIPopoverController alloc] initWithContentViewController:navigationController];
CGSize screenSize = [UIScreen mainScreen].bounds.size;
CGRect popoverFrame = CGRectMake(screenSize.width/2, screenSize.height/2, 1, 1);
[popover presentPopoverFromRect:popoverFrame inView:self.view permittedArrowDirections:0 animated:YES];
} else {
[self presentViewController:navigationController animated:YES completion:^{
}];
}
Funziona piuttosto bene ma c'è un problema con le classi di dimensioni. Ho apportato alcune modifiche allo storyboard in wRegular/hRegular Size Class ma su iPad in UIPopoverController che mostra ancora il layout di iPhone. È perché la dimensione del popover è inferiore allo schermo dell'iPad. Posso apportare le mie modifiche in Interface Builder con Classi di dimensioni per visualizzarle in popover su iPad ma ignorarle su iPhone?