从另一个ViewController更改MasterViewController TabBarItem标签

时间:2015-03-27 08:20:31

标签: ios swift uiviewcontroller master-detail

我正在使用Master Detail模板。在故事板中,我将一个TabBarItem(Login)附加到MasterViewController,其中Login的segue是一个到LoginViewController的Popover Presentation,而LoginViewController又有一个Button。

我想要实现的是在LoginView中,点击该按钮后,TabBarItem文本将更改为Logout。

我已经包含了一个LoginViewController.swift并添加了一个与Button挂钩的IBAction。然而,这是我在桌面上敲打的一部分,因为我试图搜索Swift相关的建议并且没有任何建议。

我已经包含了布局屏幕截图的链接,以防我没有任何意义。

screenshot

图片可能看起来有点小,link for full image

这是我第一次编写IOS代码,因此,我对Swift的知识和经验非常有限,感谢任何帮助。


LoginViewController.swift

import UIKit

class LoginViewController: UIViewController {

    override func viewDidLoad() {
    super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func login(sender: AnyObject) {
        let items = self.tabBarController!.tabBar.items as [UITabBarItem]
        println("items: \(items)")
       // items[0].title = "Logout"
    }
}

2 个答案:

答案 0 :(得分:0)

如果要更改tabBar标题,只需添加此项。

let items = self.tabBarController!.tabBar.items as! [UITabBarItem]
items[1].title = "Logout"

items是所有tabBar项的数组,通过此数组,您可以更改每个tabBar项的属性,如图像,标题等。

答案 1 :(得分:0)

我没有一次又一次地将头撞到砖墙上的同一个地方,而是改变了使用委托来解决问题的方法。

它确实有助于解决问题,但由于我对Swift很新,我不知道所涉及的成本。但是,谢谢你,Dejan。 = d