【问题标题】:Modal view controller over Presenting view controller模态视图控制器优于呈现视图控制器
【发布时间】:2014-12-21 18:46:10
【问题描述】:

我有一个视图控制器,我以模态方式呈现在另一个视图控制器上,顶部 VC 的背景视图具有模糊效果。当我使用以下代码时,顶视图控制器出现在底视图控制器上方,但顶部控制器隐藏在导航栏后面:

MOSettingsViewController *settingsViewController = [[MOSettingsViewController alloc]init];
settingsViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
settingsViewController.modalPresentationStyle = UIModalPresentationOverCurrentContext;
self.providesPresentationContextTransitionStyle = YES;
self.definesPresentationContext = YES;
[self presentViewController:settingsViewController animated:YES completion:nil];

当我删除settingsViewController.modalPresentationStyle... 行时,新的视图控制器出现在导航栏上,但呈现的视图控制器变黑,并破坏了模糊效果。

我怎样才能获得这两种演示的混合,其中呈现视图控制器保持可见并且导航栏位于呈现的视图控制器下方?

【问题讨论】:

    标签: ios objective-c modalviewcontroller presentviewcontroller uivisualeffectview


    【解决方案1】:

    我需要使用UIModalPresentationOverFullScreen,而不是UIModalPresentationOverCurrentContext。

    【讨论】:

    • 这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
    • @Raedwald 我是作者,通过更改那段代码,它解决了我的问题
    • 也解决了我的问题!当我使用UIModalPresentationOverCurrentContext 时,会出现通话状态栏,但 AutoLayout 不起作用并调整视图层次结构。 UIModalPresentationOverFullScreen 现在一切正常!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 2021-09-20
    相关资源
    最近更新 更多