【问题标题】:embedding navigation controller in tab controller hides the navigation items in view controller在选项卡控制器中嵌入导航控制器隐藏视图控制器中的导航项
【发布时间】:2016-02-20 14:10:56
【问题描述】:

结构是这样的

标签栏控制器 --> 导航栏(item) --> 视图控制器(右侧有一些按钮。

在视图控制器中,导航栏的属性从以下位置加载:

override func viewWillAppear(animated: Bool) {

     currentUserId = PFUser.currentUser()!.objectId! as String
        self.navigationController?.setToolbarHidden(true, animated: true)
    if (isSegue == "CurrentUser")
    {
        UserId = PFUser.currentUser()!.objectId! as String
        self.navigationItem.title = "My Album"            
    }
    else
    {
        self.navigationItem.title = userName
        self.navigationItem.rightBarButtonItems = nil
    }

    //added to make navigation bar black - Subodh
        let nav = self.navigationController?.navigationBar
    var image = UIImage(named: "xxxxxxx")
    image = image?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)

    self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: image, style: UIBarButtonItemStyle.Done, target: self, action: "leftBarButtonPressed")
        nav?.barStyle = UIBarStyle.Black
        nav?.tintColor = UIColor.whiteColor()
        self.navigationController!.toolbar.barTintColor = UIColor.blackColor();
        self.navigationController?.hidesBarsOnTap = false

    self.tabBarController?.hidesBottomBarWhenPushed = true

    self.collectionView.reloadData()

}

当我只使用导航栏时,它工作正常,但现在导航栏被空白导航栏取代。导航栏上有两个按钮在我运行代码时不显示。我尝试通过self.tabBarController?.hidesBottomBarWhenPushed = true 将导航栏从选项卡视图控制器中隐藏,但它不起作用。同样对于tabcontroller,我只能设置标题而不是其他东西。那我该如何处理呢?

【问题讨论】:

    标签: ios objective-c swift


    【解决方案1】:

    通过将其包含在 viewdidload 中使其工作:

    self.tabBarController?.navigationController?.navigationBarHidden = true
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 2018-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多