我想在 iPhone 屏幕顶部实现一个标签栏,并希望能够在不同的 View 中导航。我使用了委托(delegate)方法,这是它在 Storyboard 中的样子:
但是,由于我不能将 TabBar 委托(delegate)给多个容器,所以我实现的代码似乎不起作用,这里是:
class PersonnesController: UIViewController, UITabBarDelegate {
@IBOutlet weak var tabBar : UITabBar!
@IBOutlet weak var comptesContainer : UIView!
@IBOutlet weak var membreContainer : UIView!
@IBOutlet weak var discussionContainer : UIView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
tabBar.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tabBarDelegate(tabBar: UITabBar!, didSelectItem item: UITabBarItem!) {
switch item.tag {
case 1:
comptesContainer.isHidden = false
membreContainer.isHidden = true
discussionContainer.isHidden = true
case 2:
comptesContainer.isHidden = true
membreContainer.isHidden = false
discussionContainer.isHidden = true
case 3:
comptesContainer.isHidden = true
membreContainer.isHidden = false
discussionContainer.isHidden = true
default:
comptesContainer.isHidden = false
membreContainer.isHidden = true
discussionContainer.isHidden = true
}
}
}
真正的问题似乎是我只能将 TabBar 委托(delegate)给一个容器,而不能委托(delegate)给三个容器。我怎样才能做到这一点?
PS:我找到的最佳回复是here但是我没有实现,我不知道他/她如何设法多次委托(delegate)。
最佳答案
我的问题是,为什么不使用 UITabBarController?只要没有人调用委托(delegate)(这就是 UITabBarController 的作用/目的),仅仅实现委托(delegate)不会做您尝试做的事情。
关于ios - 如何在没有 UITabBarController 的情况下使用 UITabBar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45764659/