【发布时间】: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,因为它的一部分超出了底部边缘
-
您需要确保一件事 - 当导航栏隐藏时,您必须确保所有其他视图保持其原始大小。这意味着即使导航栏仍然可见,所有视图也必须位于导航栏下方。
-
我添加了一个新的编辑。