¿Dónde configurar el tamaño de un controller de vista presentado en un popover?

Basado en el código de ejemplo de Apple, mi aplicación presenta un controller de vista en un popover, que se activa mediante un button de barra:

- (IBAction)configChartTapped:(id)sender { GrowthChartConfigOneViewController *panelViewController = [[GrowthChartConfigOneViewController alloc]init]; UIPopoverController *popover = [[UIPopoverController alloc]initWithContentViewController:panelViewController]; popover.delegate = self; // Store the popover in a custom property for later use. self.popover = popover; [self.popover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; } 

Sin embargo, no encontré una forma de configurar el tamaño del popover.

Pregunta: ¿Dónde y cómo debo configurar el tamaño del popover y su controller de vista? ¿Puedo configurar el tamaño directamente en XCode para tener la vista correctamente dimensionada en el guión gráfico?

Solo dé popovercontentsize y asegúrese de que la vista se ajuste al tamaño del popover tal como se define a continuación:

  popover = [[UIPopoverController alloc] initWithContentViewController: panelViewController]; popover.popoverContentSize = CGSizeMake(550, 700); 

También puedes configurarlo dentro de la class popover. De esta manera, si permite que se llame a la window emergente desde varios lugares, puede simplemente configurar el tamaño una vez.

 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization self.view.backgroundColor = [UIColor networkingColor]; self.contentSizeForViewInPopover = CGSizeMake(320.0, 216.0); } return self; } 

Buena respuesta arriba, pero solo quería actualizarlo para storyboard debido a mis necesidades ligeramente diferentes. Si crea una instancia utilizando el identificador de storyboard como este:

 CBItemViewController *addNewPayee = [self.storyboard instantiateViewControllerWithIdentifier:@"cbItemPopover"]; 

entonces puede configurar el tamaño personalizado dentro del código del popover como este:

 - (id)initWithCoder:(NSCoder *)decoder { if(self = [super initWithCoder:decoder]) { self.prefernetworkingContentSize = CGSizeMake(630, 340); } return self; }