我正在尝试在GMSMapView
视图前面添加一个按钮。
这是我的代码:
@IBOutlet weak var testButton: UIButton!
@IBOutlet weak var mapView2: GMSMapView!
override func viewDidLoad() {
super.viewDidLoad()
loadView()
}
然后是loadView()
方法
override func loadView() {
let camera = GMSCameraPosition.camera(withLatitude: 54.2785691, longitude: -8.4620978, zoom: 18.0)
let mapView2 = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
view = mapView2
mapView2.bringSubviewToFront(testButton)
}
这是我得到的错误:
线程1:致命错误:在展开可选值时意外发现nil
任何帮助将不胜感激!
答案 0 :(得分:0)
您可以尝试
class MyVc:UIViewController {
@IBOutlet weak var testButton: UIButton!
@IBOutlet weak var mapView2: GMSMapView!
override func viewDidLoad() {
super.viewDidLoad()
let camera = GMSCameraPosition.camera(withLatitude: 54.2785691, longitude: -8.4620978, zoom: 18.0)
mapView2.animate(to: camera)
view.bringSubviewToFront(testButton)
}
}
我希望IB中的用户界面
View->
-testButton
-mapView2
顺便说一句,您可以重新排列视图以代替bringSubviewToFront
View->
-mapView2
-testButton
底部元素在前面
对于此类问题,也不要实施loadView
,因为仅当您以编程方式创建vc或要添加除IB之外的其他项目时才重要,在后一种情况下,您应该调用super.loadView()
>