2013-03-28 4 views
0

один UIPopoverviewController в настоящее время виден ....
его ViewController содержит кнопку, и нажатие кнопки изменяет viewController PopoverviewController на какой-либо другой viewController.Изменить UIPopoverController на лету

Работает отлично, ViewController изменилось успешно ......
но contentsize PopoverViewController по-прежнему тот же

позволяет изменять contentSize вручную
Шаг1: View Controller изменен
Шаг2: popoverviewController.popovercontentSize = CGSizeMake (500500);

:(Еще Никакие изменений в размере

Примечания: И нагрузка View Controller успешно и если contentsize из достаточно пирога большое, чтобы держать как тогда оба ViewController видно ....

+0

, пожалуйста, отправьте код. – danh

ответ

2

[UIViewController contentSizeForViewInPopover] читаются только один раз - когда отображается popover. Вы можете посмотреть на него как на начальное значение для размера контроллера popover.

Однако, как только появится всплывающее окно, оно больше не будет читаться, даже если вы измените contentViewController.
Вы должны использовать [UIPopoverController setPopoverContentSize:animated:] ins TEAD.

UIPopoverController* popover = [... already existing and visible popover ...]; 
UIViewController* newPopoverContents = [... new content for the popover ...]; 

[popover setPopoverContentSize:newPopoverContents.contentSizeForViewInPopover 
         animated:YES]; 
[popover setContentViewController:newPopoverContents 
         animated:YES]; 
+0

Если видимость popoverview видна, то что-то в popover может изменить ее размер или нет, не делая ее невидимой и видимой снова? ..... его не меняется для меня – bhawesh

+1

@ancode Добавлен код, подтвержденный для работы. Если это не сработает для вас, ваша проблема может лежать где-то в другом месте. – Sulthan

+0

:) У меня получилось. Ошибка в том, что я сначала менял контроллер вида, а затем установил размер ..... изменение размера сначала сделало его работу ... :) – bhawesh

Смежные вопросы