gpt4 book ai didi

ios - 按下自定义 UITabBarController 上的按钮时显示用户位置

转载 作者:行者123 更新时间:2023-11-28 08:35:01 24 4
gpt4 key购买 nike

我有一个自定义的 UITabBar Controller ,其中有用于在 View Controller 之间切换的按钮。这是一张图片: http://i.stack.imgur.com/UInLI.png

我想做的是,当按下主按钮时, View 将更改为 mapViewController,当它再次按下时(在同一个 mapViewController 上),它将显示给用户位置。

  • 我使用 mapBox 作为我的 Map 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 。

fatal error: unexpectedly found nil while unwrapping an Optional value

最佳答案

如果您还没有使用过它们,这些可能是一些 helpful map 框resources .

我不确定为什么它会与你那里的东西崩溃。
我会尝试放置一些断点以找出它实际崩溃的位置。

尝试将一个放在行 if (self.selectedIndex != 0){
看看它是否真的进入了那个方法。

如果是,请尝试在 debug console 中键入 po yourPropertyNamepo self.selectedIndex尝试找出返回 nil 的属性。

此外,如果您知道哪些属性是可选的,请检查您访问它们的位置。那就是他们可能为零的地方。

关于ios - 按下自定义 UITabBarController 上的按钮时显示用户位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38019270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com