2016-04-14 24 views
0

Google Maps SDK kullanan bir uygulama yapıyorum. Bu amaç için görünümü (kök görünümü) bir mapView olarak tanımladım. Şimdi ben mapView üstünde olmak istiyorum başka bir görünüm ekliyorum, ancak bunu viewDidLoad() içinde yaptığınızda sadece değil. Yardımı gerçekten takdir ediyorum ve bunun neden olduğuyla ilgili bir açıklama bile ... topViewBar sadece Storyboard'a eklediğim bir UIView.addSubView() ve bringSubViewToFront() in viewDidLoad() çalışmıyor

class MapViewController: UIViewController { 

@IBOutlet weak var topViewBar: UIView! 



override func viewDidLoad() { 
    super.viewDidLoad() 
//MARK: - put event on map function 

    func putEventOnMAp(latitude: CLLocationDegrees, longitude: CLLocationDegrees, eventInfo: String, map: GMSMapView) { 
     let marker = GMSMarker() 
     marker.position = CLLocationCoordinate2DMake(latitude, longitude) 
     marker.title = eventInfo 
     marker.map = map 


    } 

//MARK: - Initialize map view 
    let camera = GMSCameraPosition.cameraWithLatitude(-33.86, 
                 longitude: 151.20, zoom: 6) 
    let mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera) 
    mapView.myLocationEnabled = true 
    self.view = mapView 
    self.view.addSubview(topViewBar) // these two lines is where I try to add the additional view 
    self.view.bringSubviewToFront(topViewBar) 


    let marker = GMSMarker() 
    marker.position = CLLocationCoordinate2DMake(-33.86, 151.20) 
    marker.title = "Sydney" 
    marker.snippet = "Australia" 
    marker.map = mapView 

cevap

0

Sen mapView bir subview topViewBar eklemeye devam ediyoruz. Bence ne yapmak istediğinizi UIViewself.view olarak ayarlamak için basit bir kapsayıcıyı başlatmaktır. Daha sonra mapView ve topViewBar öğelerini UIView'un alt görünümleri olarak ekleyin.

+0

Hey Dash. Bunu yapmayı denedim, ama haritayı tamamiyle sunmadığı için. Haritayı kök görünümüne ekledim çünkü bu, haritayı viewDidLoad'dan başlatmamı sağlayan tek yol buydu. Bunun neden gerçekleştiğine dair bir fikrin var mı? –

+0

Soory, haritayı ekler. Ancak bir işaretçi yerleştirilemez. Bu yüzden root görünümü ile gittim. Herhangi bir şekilde, bunun üstüne bir görünüm eklemenin bir yolu olduğundan eminim. Sanırım? –