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