gpt4 book ai didi

ios - 默认选项卡不显示所选的第一个选项卡

转载 作者:行者123 更新时间:2023-11-29 05:51:30 25 4
gpt4 key购买 nike

我为我的应用程序使用了自定义 UITabbar,因为我的应用程序需要 View Controller 而不是 uitabbarcontroller。在其中,我通过添加和删除第二个 View Controller 作为 subview 来显示两个 View Controller 。 直到这一切都很好,但选项卡栏项目没有显示突出显示状态的第一个选项卡栏项目,而是在选择第二个选项卡栏项目后(从此选项卡栏项目显示突出显示。)突出显示如下。

所以我尝试了一个解决方案:我添加了一个 bool 变量“selected”作为用户定义的运行时属性,这也失败了,即使在选择第二个选项卡栏后,第一个选项卡栏项目仍然突出显示。

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

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
}
}

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

最佳答案

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;
}
}
}
}

如果所有选项卡都有唯一的标题(通常是这种情况),则此方法有效。

关于ios - 默认选项卡不显示所选的第一个选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55629371/

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