我的iPad故事板中有一个popover segue。弹出窗口包含一个Nav Controller,它包含我的View Controller。我在View Controller中设置了preferredContentSize
,并尝试在我的View Controller中设置导航控制器的preferredContentSize
。然而,popover仍然填满了屏幕。我甚至尝试了已弃用的self.contentSizeForViewInPopover
,但这也无效。我试过-awakeFromNib
和-viewDidLoad
。
我做错了什么?
- (void) awakeFromNib {
[super awakeFromNib];
self.preferredContentSize = CGSizeMake(500.0, 600.0);
self.navigationController.preferredContentSize = self.preferredContentSize;
self.contentSizeForViewInPopover = self.preferredContentSize;
self.navigationController.contentSizeForViewInPopover = self.preferredContentSize;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.preferredContentSize = CGSizeMake(500.0, 600.0);
self.navigationController.preferredContentSize = self.preferredContentSize;
self.contentSizeForViewInPopover = self.preferredContentSize;
self.navigationController.contentSizeForViewInPopover = self.preferredContentSize;
}
答案 0 :(得分:1)
在iOS7中我只使用"假的" preferedContentSize强制刷新popoverSize,如:
CGSize currentSetSizeForPopover = CGSizeMake(400, 130);
CGSize fakeMomentarySize = CGSizeMake(currentSetSizeForPopover.width - 1.0f, currentSetSizeForPopover.height - 1.0f);
self.preferredContentSize = fakeMomentarySize;
self.preferredContentSize = currentSetSizeForPopover;
但是在iOS8中它似乎不再起作用了..
当我呈现它时它工作,但是如果我导航到另一个viewController然后回到root,则不再尊重preferredContentSize ..