Здравствуйте. Возник довольно глупый, но весьма важный для меня вопрос. Работаю с Google Maps, и получилась такая ситуация, что при отображении карты, все элементы которые были расположены на ViewController уходят за карту. mainView является superView, а menuView – subview. Не нашла ни одного способа поместить subview поверх superView. Буду благодарна любому ответу, спасибо!
View перекрывает другой View
Ookey
#2
Это должно выглядеть так
-View //супервью
–MapView //сабвью вью
–Меню //сабвью вью, наложено поверх MapView
haymob
#4
Сразу после mainView.addSubview(mapView)
:
mainView.bringSubview(toFront: menuView)
Или:
mainView.sendSubview(toBack: mapView)
Или вместо mainView.addSubview(mapView)
:
mainView.insertSubview(mapView, at: 0)
Silea
#6
Пробовала Ваши варианты и ничего, возможно, что я что-то не так поняла, подскажите, пожалуйста
func GoogleMaps () {
// Create the maps
let camera = GMSCameraPosition.camera(withLatitude: 47.213371, longitude: 39.712053, zoom: 15.0)
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
view = mapView
mainView.addSubview(mapView)
mainView.bringSubview(toFront: menuView)
// Creates a marker in the center of the map.
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: 47.213371, longitude: 39.712053)
marker.title = "Набережная реки Дон"
marker.map = mapView
}
haymob
#7
Зачем это здесь?
View в контроллере это и есть mainView, попробуйте так:
func GoogleMaps () {
// Create the maps
let camera = GMSCameraPosition.camera(withLatitude: 47.213371, longitude: 39.712053, zoom: 15.0)
let mapView = GMSMapView.map(withFrame: view.frame, camera: camera)
view.insertSubview(mapView, at: 0)
// Creates a marker in the center of the map.
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: 47.213371, longitude: 39.712053)
marker.title = "Набережная реки Дон"
marker.map = mapView
}