представляя модальные виды в поповере - PullRequest
3 голосов
/ 13 мая 2010

Я пытаюсь загрузить модальное представление из контроллера представления, который отображается во всплывающем окне. Модальное представление загружается, но проблема в том, что он переходит в основное представление, а не в поповер. Я что-то упускаю? Я думал, что простое инициирование его с vc внутри popover представит модальное представление в том же popover ...

Код ничего особенного, как показано ниже:

- (IBAction)myButton{
ModalVC *controller = [[ModalVC alloc] initWithNibName:@"ModalVC" bundle:nil];

[self presentModalViewController:controller animated:YES];
[controller release]; }

Ответы [ 3 ]

19 голосов
/ 17 сентября 2010

Если вы добавите

controller.modalPresentationStyle = UIModalPresentationCurrentContext;

перед вызовом presentModalViewController: анимированный ваш ModalVC должен отображаться в поповере.

Другой способ отобразить что-то модально в поповере - это использовать свойство modalInPopover.

2 голосов
/ 21 июля 2011

К сожалению, кажется, вы не можете этого сделать, и это нарушает HIG. Из Apple View Руководство по программированию контроллера

Примечание: Вы должны всегда отклонять видимый поповер перед отображением другой вид контроллера модально. Для конкретных указаний о том, когда и как использовать всплывающие окна в вашем приложении, см. «Popover (только для iPad)» в Руководство по интерфейсу пользователя iOS.

0 голосов
/ 13 мая 2010

Это потому что вы presentModalViewController до self. Попробуйте добавить UIBarButtonItem в свой ViewController (самостоятельно) и выполните:

[controller presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

, где sender - это UIBarButtonItem

...