Я использую Mapbox, чтобы пользователи могли перемещаться между локациями.Я использую базовую функцию навигации, как указано в документации (https://www.mapbox.com/ios-sdk/navigation/examples/basic/). Это дает мне представление навигации, как показано ниже.
Я хотел бы добавить пользовательскую кнопкув нижней части окна. Для этого я попробовал следующий код.
Directions.shared.calculate(options) { (waypoints, routes, error) in
guard let route = routes?.first else {
self.showAlertMessage("No possible routes detected")
return
}
self.mapNavigationViewController = NavigationViewController(for: route)
self.mapNavigationViewController.delegate = self
self.present(self.mapNavigationViewController, animated: true, completion: {
let customButton = UIButton()
customButton.setTitle("Press", for: .normal)
customButton.translatesAutoresizingMaskIntoConstraints = false
customButton.backgroundColor = .blue
customButton.contentEdgeInsets = UIEdgeInsets(top: 10, left: 20, bottom: 10, right: 20)
self.mapNavigationViewController.view.addSubview(customButton)
customButton.bottomAnchor.constraint(equalTo: self.mapNavigationViewController.view.bottomAnchor, constant: 0).isActive = true
customButton.leftAnchor.constraint(equalTo: self.mapNavigationViewController.view.leftAnchor, constant: 0).isActive = true
customButton.rightAnchor.constraint(equalTo: self.mapNavigationViewController.view.rightAnchor, constant: 0).isActive = true
self.mapNavigationViewController.view.setNeedsLayout()
})
}
С этим я получил кнопку, как показано ниже.
Теперь, следующее, что нужно сделать, - это сместить вид карты, чтобы его нижняя часть совпала с вершиной пользовательской кнопки. Как мне этого добиться?