gpt4 book ai didi

ios - GMSMapView 不占据完整边界

转载 作者:行者123 更新时间:2023-11-29 00:51:54 27 4
gpt4 key购买 nike

我在 XCode 上设计了以下布局:

enter image description here

布局按钮(取消、注册)固定在底部布局指南中。最上面是 3 个大小相同的 UIView,每个之间的垂直间距为 1px。

剩下的空间被mapView占用,它是一个UIView。它固定在顶部,前导和尾随布局指南。它在建筑物编号 View 之间也有 8px 的间距。

当我在我的 iPhone 6 上运行该应用程序时,我得到了这个:

enter image description here

map 并未绘制在所有可用空间中。我不知道为什么:

设置 map 时,我确实传递了 mapView 的边界:

class RegisterAddressViewController: BaseViewController, CLLocationManagerDelegate, GMSMapViewDelegate {

@IBOutlet var mapView : UIView!

override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.setupMapView()
self.setupLocationManager()
}

func setupMapView(){
let camera = GMSCameraPosition.cameraWithLatitude(-33.86,
longitude: 151.20, zoom: 6)
self.gmsMapView = GMSMapView.mapWithFrame(self.mapView.bounds, camera: camera)
self.gmsMapView!.delegate = self
self.mapView.addSubview(self.gmsMapView!)
}

//...
}

我不认为这是一个 AutoLayout 问题,因为控制台中没有出现警告,并且 mapView 的浅灰色背景表明布局设置正确。

我是否缺少某些配置?谢谢。

最佳答案

问题是 Auto Layout 没有在 viewWillAppear 时运行和调整您的 View 大小。将您的代码移动到 viewDidLayoutSubviews 的覆盖中,它应该可以正常工作。不过要小心,因为 viewDidLayoutSubviews 可以运行多次,所以检查它并且只进行一次设置,或者确保可以多次运行 setupMapView

关于ios - GMSMapView 不占据完整边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38039388/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com