行。我还没有真正看到过如何在任何地方做到这一点。这可能是一个问题"你无法从这里到达那里。"或#"神圣#@ $!这是一个令人厌恶的黑客,它应该在木棚后面拍摄!"。
我有一个标签式Swift 3 iOS应用程序,当页面状态发生变化时,它会动态更新所选页面的标签栏图像。
我这样做:
if let navController = self.navigationController as? MyNavController {
navController.tabBarItem.image = navController.tabBarImage
navController.tabBarItem.selectedImage = navController.tabBarImage
}
tabBarImage实际上是一个计算属性。此片段在UI回调中调用,该回调在状态更改时更新。
这很有效。
但是在MoreViewController中,不是那么好。无论我做什么,这些图像都会一直保持静止。
我已经对MoreViewController进行了一些探索。我可以看到tableView和细胞,但是闻起来就像那种黑客会让我的应用程序被App Me评论中的Blue Meanies带到木棚后面。
有没有正确的方法呢?
答案 0 :(得分:1)
您可以使用通知并将字典中的图像作为通知对象传递。然后,您可以立即获得具有不同键值的不同tabBarImage。
答案 1 :(得分:0)
行。我想出了怎么做。
我沿着导航控制器路径爬回来;对于不在更多空间的物品,它可以正常工作。
我通过从标签栏控制器向前爬行来修复它,而不是:
self.tabBarController?.viewControllers?[MySelectionIndex].tabBarItem.image = self.tabBarImage
self.tabBarController?.viewControllers?[MySelectionIndex].tabBarItem.selectedImage = self.tabBarImage