导航项目标题未显示

时间:2018-03-13 18:42:15

标签: ios swift

我在class homeVC: UICollectionViewController中有以下代码,以便在导航栏中显示标题,并且按预期工作。

override func viewDidLoad() {
    super.viewDidLoad()
    .
    .
    .
    self.navigationItem.title = PFUser.current()?.username?.uppercased()
    .
    .        
}

但是当我点击按钮转到另一个视图控制器然后回到homeVC视图控制器self.navigationItem.title时没有显示任何内容。我想知道为什么会这样?

以下代码将转到另一个视图控制器

@objc func followersTap() {

    category = "followers"

    // make references to followersVC
    let followers = self.storyboard?.instantiateViewController(withIdentifier: "followersVC") as! followersVC

    // present
    self.navigationController?.pushViewController(followers, animated: true)
} 

这是要转到的视图控制器,在此视图控制器中,我不想显示前一个视图控制器的标题,因此我使用self.navigationController!.navigationBar.topItem!.title = ""将其设为空我回到上一个视图控制器,标题也是空的,为什么?

class followersVC: UITableViewController{

    override func viewDidLoad() {
        super.viewDidLoad()


        self.navigationController!.navigationBar.topItem!.title = ""  

        self.tableView.reloadData()
    }

我试图不在第二个视图控制器左上角显示第一个视图控制器标题,其中后退按钮是,并保持第一个和第二个视图控制器标题显示。

2 个答案:

答案 0 :(得分:1)

如果您的计划是不显示先前视图控制器的标题,则解决方案如下:

变化:

self.navigationItem.title = PFUser.current()?.username?.uppercased()

为:

self.title = PFUser.current()?.username?.uppercased()

并改变:

self.navigationController!.navigationBar.topItem!.title = ""

为:

self.title = ""

答案 1 :(得分:0)

尝试移动self.navigationItem.title = PFUser.current()?.username?.uppercased() viewDidAppear(),这应该有帮助