2012-08-24 57 views
0

我想在我的應用程序中使用UIPopoverController,並試圖this example.問題是該示例中的視圖和控制器是從代碼創建的。從現有的控制器創建UIPopoverController

UIViewController* popoverContent = [[UIViewController alloc] 
        init]; 
    UIView* popoverView = [[UIView alloc] 
        initWithFrame:CGRectMake(0, 0, 200, 300)]; 
    popoverView.backgroundColor = [UIColor greenColor]; 
    popoverContent.view = popoverView; 

我想使用現有的控制器與它的xib文件的彈出。如何將彈出窗口鏈接到現有控制器?我是否需要以某種特殊的方式創建控制器的視圖,以匹配彈出窗口的尺寸?

回答

1

如果你想使用現有的xib,只需使用nitWithNibName:bundle:方法初始化viewController即可。當你初始化使用xib時,你的viewController的視圖層次將被實例化。

UIViewController* popoverContent = [[UIViewController alloc] initWithNibName:@"yourXibName" bundle:nil]; 

不要擔心大小視圖時初始化 - 視圖獲取屬性時contentSizeForViewInPopover設置反正你舉到下一行的代碼示例調整。

2

是,您可以:

MyUIViewController* content = [[MyUIViewController alloc] initWithNibName:@"myNib" bundle: nil]; 
    // additional initialization in loadView 

    UIPopoverController* aPopover = [[UIPopoverController alloc] 
            initWithContentViewController:content];