【问题标题】:View (MKMapView) resizes when navigation bar gets hidden隐藏导航栏时视图(MKMapView)调整大小
【发布时间】:2016-12-05 01:13:41
【问题描述】:

我已将MKMapView 添加为视图控制器的view 的子视图(嵌入在导航控制器中。然后我使用锚点将其固定到视图的两侧,如下所示:

mapView.leadingAnchor.constraintEqualToAnchor(view.leadingAnchor).active = true
mapView.trailingAnchor.constraintEqualToAnchor(view.trailingAnchor).active = true
mapView.topAnchor.constraintEqualToAnchor(view.topAnchor).active = true 
mapView.bottomAnchor.constraintEqualToAnchor(view.bottomAnchor).active = true

当我使用navigationController?.setNavigationBarHidden(true, animated: true) 隐藏我的导航栏时,mapView 变得更高,好像它不是锚定在我的view 的顶部,而是在我的导航栏的底部。我怎样才能避免这种情况?我希望导航栏滑出屏幕,留下具有相同位置/高度的全屏 mapView。

谢谢!

【问题讨论】:

  • 试试这个:mapView.topAnchor.constraintEqualToAnchor(view.topLayoutGuide).active = true
  • "UIView 没有名为 topLayoutGuide 的成员" :(
  • mapView.topAnchor.constraintEqualToAnchor(topLayoutGuide.bottomAnchor).active = true
  • 它可以编译,但我达到了和以前一样的效果
  • 确保在 Attributes Inspector 中为 view 选择了 Extend Edges Under Top Bars

标签: ios uiviewcontroller autolayout


【解决方案1】:

视图控制器上的extendedLayoutIncludesOpaqueBars = true 完成这项工作。

如果使用情节提要,则在属性检查器中

顶栏下的扩展边缘

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    相关资源
    最近更新 更多