2012-02-22 2 views
7

Можно ли оперативно представить UIView в UIPopoverController без UIViewController, управляющий UIView?Возможно представить UIView без UIViewController в UIPopoverController?

В настоящее время у меня есть «DelegateViewController», который получает мое представление. Затем я использую этот контроллер для презентации. Но мне интересно, есть ли более простой способ?

ответ

13

Если у вас есть UIView, тогда вы можете легко создать простой UIViewController в качестве контейнера.

UIViewController* controller = [[[UIViewController alloc] init] autorelease]; 
controller.view = myView; 
+0

Это то, что я делаю уже. – Krumelur

+0

приятный ответ .. :) –

0

Как правило, имеет смысл иметь вид UIViewController, поскольку контроллер обрабатывает все взаимодействие и настройку вида. Хотя в некоторых ситуациях вы можете поставить «голые» виды на экране, UIPopoverController предназначен для работы с UIViewController, и парадигма ViewController очень хорошо зарекомендовала себя и поощрялась в мире iOS, поэтому, даже если вы считаете, что вам, похоже, не нужна контроллер просмотра не должен быть вредным для одного, и вы всегда можете расширить текущую функциональность, верно?

Обращаем ваше внимание, что: если вы работаете в iOS 5.0, то создание представлений в Popovers очень простое, и вы можете перетаскивать диспетчеры представлений и подключать их к раскадровке. Пример: How to create Popovers with Xcode Storyboards

1

Можно ли быстро представить UIView в UIPopoverController , не имея UIViewController, управляющую UIView?

No. UIPopoverController управляет контроллер представления, а не вид. Когда вы создаете контроллер popover, вы должны предоставить контроллер вида, который будет управлять контентом. Это не означает, что вам нужно создать специальный подкласс класса просмотра во всех местах, где вы используете popover - как указывает bendytree, вы можете использовать простой старый UIViewController, если хотите. Но вы не можете просто передать UIPopoverController представление - у него нет способа его принять, и он не знал, что с ним делать, если бы это произошло.

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