【发布时间】:2019-04-11 09:40:08
【问题描述】:
我为我的应用使用了自定义 UITabbar 因为我的应用需要视图控制器而不是 uitabbarcontroller。在那,我通过添加和删除第二个视图控制器作为子视图来显示两个视图控制器。 直到这很好,但标签栏项目没有显示第一个标签栏项目处于突出显示状态,而是在选择第二个标签栏项目后(从这里标签栏项目显示突出显示。)突出显示如下。
所以我尝试了一个解决方案:我添加了一个布尔变量“selected”作为用户定义的运行时属性,这也失败了,因为即使在选择了第二个标签栏后,第一个标签栏项目仍然突出显示。
我可以知道在加载视图时显示默认选项卡突出显示的任何其他替代方法吗?
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
}
}
如何在自定义标签栏中加载屏幕时显示默认选项卡?
【问题讨论】:
-
您不需要突出默认选项卡...当您显示 tabbarController ...它会自动突出显示默认选项卡栏项...可能是您没有设置任何图像或标题标签栏项目...
-
我没有使用标签栏控制器,我使用的是自定义 UITabbar。这是从对象库中拖出来的。
-
对不起,我没有先注意到...
标签: ios swift customization uitabbar