私はカスタムUITabBarコントローラを持っています。ここには、ビューコントローラを切り替えるボタンがあります。 http://i.stack.imgur.com/UInLI.pngカスタムUITabBarControllerのボタンが押されたときのユーザの位置を表示
私は、メインボタンが押されたときにビューがmapViewControllerに変更されること、それを行うには、それが(同じmapViewControllerに)もう一度押すと、それは、ユーザーの場所に表示されます欲しい:ここではイメージです。
mapView.userTrackingMode = MGLUserTrackingMode.Follow
をだからここに:私は、私は私のmapViewControllerで機能を持って、私の地図のAPIとして
findUserLocation()
、これは使用してユーザーの場所を表示しmapBoxを使用しています
- は私のコードです:
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
自分の投稿を編集してより明確にします。 –