0

我想在我的应用程序中使用 UIPopoverController 并尝试此示例。问题是该示例中的视图和控制器是从代码创建的。

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

我想将现有控制器与它的 xib 文件一起用于弹出窗口。如何将弹出窗口链接到现有控制器?我是否需要以某种特殊的方式创建控制器的视图以匹配弹出窗口的尺寸?

4

2 回答 2

1

是的你可以:

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

    UIPopoverController* aPopover = [[UIPopoverController alloc]
                                     initWithContentViewController:content];
于 2012-08-24T22:06:57.953 回答
0

如果您想使用现有的 xib,只需使用该nitWithNibName:bundle:方法初始化您的 viewController。当您使用 xib 初始化时,将为您实例化 viewController 的视图层次结构。

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

初始化时不必担心视图的大小 - 在contentSizeForViewInPopover设置属性时,视图会在您在下一行引用的示例代码中调整大小。

于 2012-08-24T22:06:10.863 回答