首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重写TabBar selectedIndex

重写TabBar selectedIndex
EN

Stack Overflow用户
提问于 2020-03-31 17:05:19
回答 2查看 428关注 0票数 1

我有一个继承自UITabBarController的viewController。

我试图覆盖selectedIndex变量,以便在didSet更改时通知它,如下所示。

代码语言:javascript
复制
override var selectedIndex: Int {
    didSet {
        refreshTabBar()
    }
}

问题是,当选项卡被更改时,这个函数没有被调用,我需要知道原因。

PS:我不想从didSelect委托方法.调用它。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-31 18:34:22

正如苹果文档中提到的selectedIndex

此属性名义上表示viewControllers属性数组中的索引。

因此,它是计算属性,从firstIndex返回selectedViewController的viewControllers。在设置它时,更改selectedViewController。

而是使用其他一些UITabBarController属性。F.e:

代码语言:javascript
复制
override var selectedViewController: UIViewController? {
    didSet { 
        print(selectedIndex)
        refreshTabBar()
    }
}
票数 2
EN

Stack Overflow用户

发布于 2020-03-31 18:06:04

以编程方式设置selectedIndex以调用函数

代码语言:javascript
复制
class FirstViewController: TabViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.selectedIndex = 1
    }


}

class TabViewController: UITabBarController {
    override func viewDidLoad() {
        super.viewDidLoad()

    }

    override var selectedIndex: Int{
        didSet {
            refreshTabBar()
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60956030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档