изменение размера контроллера всплывающего окна при нажатии контроллера навигационного представления во всплывающем окне на iPad

Я новичок в разработке ios. У меня есть основной viewController с элементами навигации, в то время как я нажимаю на всплывающий элемент навигации. Контроллер просмотра отображается нормально и получает точный размер содержимого для просмотра в всплывающем окне (320 845), проблема заключается в том, что когда я нажимаю кнопку внутри всплывающего окна контроллера просмотра, всплывающее окно Contentsize имеет быть измененным.

UIBarButtonItem *btn = (UIBarButtonItem *)sender;
Agamam *agamamView = [[Agamam alloc] initWithNibName:@"Agamam" bundle:nil];
agamamView.delegate=self;
agamamView.contentSizeForViewInPopover  =CGSizeMake(agamamView.view.frame.size.width, agamamView.view.frame.size.height); 

UINavigationController *navController =  [[UINavigationController alloc] initWithRootViewController:agamamView];
popAgamamView = [[UIPopoverController alloc] initWithContentViewController:navController];
[popAgamamView presentPopoverFromBarButtonItem:btn permittedArrowDirections:YES animated:YES];

person Ravindhiran    schedule 18.06.2013    source источник


Ответы (2)


Попробуй это....

- (void)viewWillAppear:(BOOL)animated
{
   CGSize size = CGSizeMake(320, 845); // size of view in popover
   self.contentSizeForViewInPopover = size;
   [super viewWillAppear:animated];
}
person SBM    schedule 18.06.2013
comment
Это устарело в iOS 7. - person Andrew; 18.01.2014
comment
Вместо этого используйте PreferredContentSize, например: self.preferredContentSize = CGSizeMake(630, 340) - person t4nhpt; 22.09.2015

Это не сработает для iOS 7.

popoverController.popoverContentSize = CGSizeMake(320, 845);

это то, что вы ищете.

person alper_k    schedule 30.01.2014