标签栏开关上是否有调用方法?

时间:2018-10-08 18:08:41

标签: ios objective-c

我正在构建一个iOS应用。该应用具有以下结构:

tab bar item > box-view > navigation controller > table view
tab bar item > navigation controller > view

第一个表格视图具有一个downPicker(一个开源下拉菜单)。 您可以使用数组初始化downPicker,以向他显示元素。

不幸的是,我的第二个视图有一个添加按钮,您可以在其中添加一个元素。

问题是,如果我打开表格视图,切换到该视图,添加一个元素,再切换回表格视图(向下拾取器所在的位置),这些值将不会更新。

如果添加元素后返回框视图,则不会出现此问题。

当前,downPicker初始化位于viewWillLoad内部。那么,有没有办法检测选项卡之间的切换并实际刷新downPicker?

1 个答案:

答案 0 :(得分:2)

制作一个从UITabBarController继承的类并重写以下方法:

//Swift
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
    //do your job here
}

//ObjC
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
    //do your job here        
}

然后从情节提要中将类设置为TabBarController。