我已经创建了一个使用NIB初始化的自定义视图控制器。在NIB中,我给视图插座指定了一个特定的大小。当我创建一个新的popover控制器并用我的自定义视图控制器初始化它时,我希望popover控制器的内容区域是我在NIB中指定的视图的大小,但它似乎忽略了这个大小,而使用默认的popover控制器大小。
我知道我可以在代码中指定弹出窗口的内容区域大小,但我不应该在界面构建器中这样做吗?
在我的自定义视图控制器的viewDidAppear方法中,我打印出了视图边界的宽度和高度,但奇怪的是,它们都是0。我做错了什么?
发布于 2010-12-06 02:10:44
您不能在nib中指定UIViewController的contentSizeForViewInPopover。我喜欢在viewDidLoad中设置它。
您的“打印输出”代码可能就是错误的。调用NSLog的细微之处很容易让人犯错。这样试试:
- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    NSLog(@"%@", NSStringFromCGSize(self.view.bounds.size));
}如果这不起作用,那么一定是发生了其他事情。
发布于 2014-08-19 23:21:19
是的,您可以通过以下方式从故事板完成此操作:

注意:我现在有两个popovers -第一个运行得很好(甚至把它放在屏幕的中央),第二个我花了半天的时间在想为什么它的宽度和高度是对的……如果你不设置箭头方向,奇怪的事情就会发生。
https://stackoverflow.com/questions/4249831
复制相似问题