2012-02-22 39 views

回答

13

如果您有一個UIView,那麼您可以輕鬆創建一個普通的UIViewController作爲容器。

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

這就是我現在正在做的。 – Krumelur 2012-02-22 19:20:33

+0

不錯的答案.. :) – 2014-03-20 11:40:19

0

因爲控制器處理視圖的所有交互和設置,所以通常有一個視圖爲UIViewController。雖然在某些情況下,您可以在屏幕上放置「裸體」視圖,但UIPopoverController旨在與UIViewController一起使用,並且ViewController範例在iOS世界中非常完善並受到鼓勵,所以即使您認爲您似乎並不需要視圖控制器它不應該是有害的,你可能總是想擴展當前的功能,對吧?

請注意:如果您使用的是iOS 5.0,在Popovers中創建視圖非常簡單,只需將視圖控制器拖放到故事板上即可。例如:How to create Popovers with Xcode Storyboards

1

是否有可能很快出現在UIPopoverController 一個UIView,而無需一個UIViewController管理的UIView?

編號 UIPopoverController管理視圖控制器,而不是視圖。當您創建彈出窗口控制器時,您必須提供將管理內容的視圖控制器。這並不意味着你必須在你使用popover的每個地方創建一個特殊的視圖控制器子類 - 就像bendytree指出的那樣,如果你願意,你可以使用普通的舊UIViewController。但是,你不能僅僅通過UIPopoverController一個視圖 - 它無法接受它,並且如果這樣做不知道該怎麼做。

相關問題