Как добавить кнопку перед GMSMapView - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь добавить кнопку перед 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: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании необязательного значения

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 05 октября 2018

Вы можете попробовать

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 для такой проблемы, поскольку это имеет значение только тогда, когда вы создаете виртуальный канал программно или хотите добавить какой-то элемент в дополнение к IB и в последнем случаевам следует позвонить super.loadView()

...