2015-07-03 96 views
4

我在Swift中实现了google maps place picker。谷歌提供的地方选择器自动显示一个导航栏的视图控制器。当我选择位置或按导航栏上的后退按钮时,视图控制器立即消失,无需任何转换。我似乎无法通过地点选择器API访问导航栏。我怎样才能用动画解雇placepicker视图控制器,或者访问导航栏?我很茫然。当我按下一个按钮,我的代码带来了地方选择器:Google Maps Place Picker iOS Swift

@IBAction func pickPlace(sender: UIButton) { 
    if let mapView = self.mapView { 

     let visibleRegion = mapView.projection.visibleRegion() 
     let viewport = GMSCoordinateBounds(coordinate: visibleRegion.farLeft, coordinate: visibleRegion.nearRight) 
     let config = GMSPlacePickerConfig(viewport: viewport) 
     placePicker = GMSPlacePicker(config: config) 
     placePicker.pickPlaceWithCallback { (place: GMSPlace?, error: NSError?) -> Void in 
      if error != nil { 
       println("Error picking place: \(error!.localizedDescription)") 
       return 
      } 
      if place != nil { 
       self.userLocationTextField.text = place!.name 
       println("Place name \(place!.name)") 
       println("Place address \(place!.formattedAddress)") 
       println("Place attributions \(place!.attributions)") 


       let marker = GMSMarker(position: place!.coordinate) 
      } else { 
       println("No place selected") 
      } 
     } 
    } 

我可以接触到的地方选择器视图控制器的唯一方法是使用下面的代码:

let topVC = UIApplication.sharedApplication().keyWindow?.rootViewController 

但即便如此代码,我无法改变导航栏或使视图控制器关闭动画。

+0

我遇到了同样的问题。你有没有设法得到这个修复? – scottlow

+0

我永远无法修复它,不幸的是 – mperel

+0

我有同样的问题。您是否找到导航问题的解决方案? – karthik

回答

0

我也面临同样的问题,我已经解决了使用下面的代码。 我写下面的代码就位选取器按钮动作方法

UINavigationBar.appearance().barTintColor = YOURCOLOR 
UINavigationBar.appearance().isTranslucent = false