ios - 如何在没有 UITabBarController 的情况下使用 UITabBar?

标签 ios swift uitabbar

我想在 iPhone 屏幕顶部实现一个标签栏,并希望能够在不同的 View 中导航。我使用了委托(delegate)方法,这是它在 Storyboard 中的样子:

Click here to see the screenshot

但是,由于我不能将 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/

相关文章:

ios - 需要在 icarousel 中拖放 View

iOs 10 - SWIFT 3. 当我尝试更改我的 View Controller 时呈现模态和事件 Controller

ios - iOS 8、iOS 9、iOS 10 和 iOS 11 上 UITabBar 的高度是多少?

iOS 选项卡栏项目自定义图像

ios - 如何在应用程序未运行时安排某些事件的本地通知?

ios - 如何使用 Swift 通过 WebSockets 创建和发送 UInt8Array

ios - 无法加载 tableview 单元格 firebase 的值

ios - 类型 'MyWeather'不符合协议(protocol) 'Encodable'错误

ios - 如何使用 swift 执行SelectorOnMainThread 并在不使用闭包的情况下获取返回值?

iphone - 我怎么能创建一个类似于这个的自定义标签栏