【问题标题】:setNavigationBarHidden - resizing viewssetNavigationBarHidden - 调整视图大小
【发布时间】:2016-05-31 04:28:19
【问题描述】:

我正在尝试使用 GoogleMaps SDK,我想在移动地图时隐藏导航栏并在停止时显示它,所以:

func mapView(mapView: GMSMapView, idleAtCameraPosition position: GMSCameraPosition) {
    navigationController?.setNavigationBarHidden(false, animated: true)
}

func mapView(mapView: GMSMapView, willMove gesture: Bool) {
    print("Will move")
    navigationController?.setNavigationBarHidden(true, animated: true)
}

作为 GMSMarker 的 infoWindow,我将它与自定义 UIView 结合起来非常奇怪:

窗口也会改变大小 - 隐藏导航栏时扩展,显示栏时缩小。

这可能是什么原因?

PS我要提一下,mapView是放在一个containerView中的,containerView是放在一个Content View(UIView)中的,也就是scroll view(水平滚动)的一个子view。这是因为我想创建一个滑动菜单。

编辑 这就是它在我的故事板中的样子。而且 MapViewController 引用直接指向另一个内部有 mapView 的视图控制器。

EDIT2

现在看起来像这样:

【问题讨论】:

  • 导航栏是半透明的吗?
  • 不,半透明框未选中
  • 我将其设置为半透明,行为更加奇怪。现在我无法在屏幕上看到我的整个 mapView,因为它的一部分超出了底部边缘
  • 您需要确保一件事 - 当导航栏隐藏时,您必须确保所有其他视图保持其原始大小。这意味着即使导航栏仍然可见,所有视图也必须位于导航栏下方。
  • 我添加了一个新的编辑。

标签: ios swift uiview


【解决方案1】:

您好,我认为您的主要问题是您的viewController 没有延伸到您的navigation bar 下方,因此您需要将您的viewController 延伸边缘在顶栏下方延伸到故事板中的YES,或者您可以使用edgesForExtendedLayout 以编程方式

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    相关资源
    最近更新 更多