【问题标题】:Navigation bar blends with black instead of white when presenting a view controller modally以模态方式呈现视图控制器时,导航栏与黑色而不是白色混合
【发布时间】:2014-09-30 22:32:49
【问题描述】:
我正在尝试以模态方式呈现视图控制器(嵌入在导航控制器中)。问题是当视图呈现时,它会将导航栏与黑色而不是白色混合。
我正在从情节提要创建我的视图控制器并使用-[UIViewController presentViewController:animated:completion:] 显示它。
我怎样才能得到正确的混合,如下所示?
不正确的行为:
正确行为:
【问题讨论】:
标签:
ios7
uiviewcontroller
uinavigationcontroller
uinavigationbar
uitoolbar
【解决方案1】:
问题在于 Extend Edges 设置禁用了 Under Top Bars。启用该设置后,一切正常。
注意要恢复默认设置,您应该启用Under Top Bars和Under Bottom Bars。如果您注意到视图控制器底部的工具栏具有相同的行为,则后者特别有用。
您可以通过读取视图控制器上的edgesForExtendedLayout 值以编程方式查看该值设置为什么。如果将其设置为UIRectEdgeNone,则会出现不良行为。
有关扩展边缘如何工作的更多信息,请参阅this answer。