默认选项卡未将第一个选项卡显示为已选中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了默认选项卡未将第一个选项卡显示为已选中相关的知识,希望对你有一定的参考价值。

我已经为我的应用程序使用了自定义UITabbar因为我的应用程序需要一个viewcontroller而不是uitabbarcontroller。在那里,我通过添加和删除第二个viewcontroller作为子视图显示了viewcontroller。直到它很好,但tabbar项目没有显示突出显示状态的第一个tabbar项目,而是在选择第二个tabbar项目后(从这里tabbar项目显示突出显示。)突出显示如下。

所以我尝试了一个解决方案:我添加了一个bool变量“selected”作为User Defined Runtime属性,这也失败了显示第一个tabbar项仍然突出显示,即使选中了第二个tabbar。

在加载视图时,我是否知道显示默认选项卡突出显示的任何其他替代方法。

func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem){
        switch item.tag {
        case 1:
            if sampleTwo == nil {
                var storyboard = UIStoryboard(name: "Main", bundle: nil)
                sampleTwo = storyboard.instantiateViewController(withIdentifier: "liveeventsVC") as! LiveEventsViewController
            }
            sampleTwo?.view.removeFromSuperview()

            sampleTwo?.removeFromParentViewController()
            break
        case 2:
            if sampleTwo == nil {
                var storyboard = UIStoryboard(name: "Main", bundle: nil)
                sampleTwo = storyboard.instantiateViewController(withIdentifier: "liveeventsVC") as! LiveEventsViewController
            }
            self.view.insertSubview(sampleTwo!.view!, belowSubview: self.bidLiveTabbar)

            self.addChildViewController(sampleTwo!)
            break
        default:
            break
        }
    }

如何在自定义Tabbar中加载屏幕时显示选择的默认选项卡?

答案
IBOutlet weak var tabBar:UITabBar!//and connect this property to the UITabBar in Interface Builder


override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated)      

    if let items = tabBar!.items  {
            for item in items {
                if item.title == "My Tab Title" {
                    tabBar.selectedItem = item;
                }
            }
        }     
}

如果所有选项卡都具有唯一标题,则通常就是这种情况。

以上是关于默认选项卡未将第一个选项卡显示为已选中的主要内容,如果未能解决你的问题,请参考以下文章

网络选项卡未显示应用在选择器上的 css

尽管调用了 show(),但插入的选项卡未在 QTabWidget 中显示

Dart Flutter DevTools“调试器”选项卡未显示

Material-UI 选项卡未在页面渲染上显示组件报告

引导导航选项卡未加载正确的页面

选项卡未添加到 QTabWidget