我有一個自定義的UITabBar控制器,其中我有按鈕可在視圖控制器之間切換。以下是圖像: http://i.stack.imgur.com/UInLI.png按下自定義UITabBarController上的按鈕時顯示用戶位置
我想這樣做時,按下主鍵視圖將更改到的MapViewController,當它再次按下(在相同的MapViewController),它會顯示出用戶的位置是什麼。
- 我使用mapBox作爲我的地圖API,我有一個函數在我的MapViewController,
findUserLocation()
和這個節目的用戶位置使用:
mapView.userTrackingMode = MGLUserTrackingMode.Follow
所以在這裏是我的代碼:
class CustomTabBarViewController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
self.tabBar.hidden = true
let tabBarView = CustomTabBarView()
tabBarView.viewdidload()
self.view.addSubview(tabBarView)
tabBarView.mapButton.addTarget(self, action: #selector(self.changeToMyMap), forControlEvents: UIControlEvents.TouchUpInside)
// Do any additional setup after loading the view.
}
func changeToMyMap(){
if (self.selectedIndex != 0){
self.selectedIndex = 0
}else{
let mapViewController = myMap() // the class Name
mapViewController.mapView.userTrackingMode = MGLUserTrackingMode.Follow
}
}
}
所以當我按下按鈕來顯示用戶的位置,我得到一個錯誤。我認爲是因爲Map未加載到customTabViewController中,但我不知道如何使其工作。
當我嘗試從我的customTabBarController調用函數 時,我的應用程序出現致命錯誤。
fatal error: unexpectedly found nil while unwrapping an Optional value
比幫助更多的信息。你能顯示你收到的錯誤嗎? – Xeaza
我編輯我的文章,使其更清晰。 –