iOS 8 - Popover中的模态

时间:2014-11-14 11:25:48

标签: objective-c ipad ios8 modalviewcontroller popover

我有一个带TabBarController的popover。在一个选项卡中有一个TableViewController,其中包含一个名称列表。还有一个加号按钮,它具有AddCharacterVC的模态segue,用于添加新名称。 在iOS 7中,我这样做:

AddCharacterViewController *acvc = (AddCharacterViewController *)segue.destinationViewController;
acvc.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
acvc.modalPresentationStyle = UIModalPresentationCurrentContext;// so it does not take full screen in popover

在AddCharacterVC中我设置了这样的内容大小:

- (void)viewWillAppear:(BOOL)animated {

CGSize size = CGSizeMake(320, 480); // size of view in popover
if (IDIOM == IPAD && [self respondsToSelector:@selector(preferredContentSize)]){
    self.preferredContentSize = size;
}

它完美无缺。

但是,在iOS 8中,模态视图不会覆盖整个弹出框,从而使TabBar可见。用户可以点击或不点击,无论如何模态视图都不能正确展开。

我试过了:

  • 将acvc.modalPresentationStyle设置为UIModalPresentationOverCurrentContext
  • 尝试设置TabBar隐藏
  • 在故事板中检查TableVC的边缘在底部栏下延伸,而在模态视图(AddCharacterVC)中的底部栏设置为无

一切都没有结果。

现在我唯一能想到的就是尝试制作modalPresentationStyleCustom并使用UIPresentationController(我现在试着这样做,但我以前没有做过)。我错过了什么吗?还有其他办法吗?对不起,我还不能在这里发布图片。非常感谢提前!

1 个答案:

答案 0 :(得分:0)

好的,所以我已经将modalPresentationStile设置为UIModalPresentationCustom,并使用了UIPresentationController - 我只是从WWDC-14的LookInside项目中复制了代码并对其进行了一些修改。 我不确定这是否是最佳解决方案,但它在我的案例中有效。