【问题标题】:How to set title on navigation controller added as more navigation controller如何在导航控制器上设置标题添加为更多导航控制器
【发布时间】:2020-04-06 21:06:19
【问题描述】:

我有 6 个视图控制器,我正在使用 UiTabbar 视图。所以 om 主屏幕 4 个视图控制器的数量显示在选项卡中,操作系统创建另一个并将其命名为更多。

点击更多时,它显示了我在 UiTableView 中的 2 个视图控制器。当我点击它们时,它会打开我的视图控制器,顶部有导航控制器,后退按钮标记为更多

完整的理解见下图

我想要的:在这里你可以看到更多只是用后退按钮可见,我只想显示后退按钮,我想要居中 标题带有“优惠”标签的白色文本

更新1:

在 ViewWillDisplay() 中调用该方法

    func setUpNavBar(title: String,backBtn : String) -> Void {


    let backButton = UIBarButtonItem(title: " ", style: .plain, target: nil, action: nil)
    navigationItem.backBarButtonItem = backButton

    navigationController?.navigationBar.tintColor = UIColor.white

    let titleStr = title

    self.navigationItem.title = titleStr
    self.navigationItem.titleView?.backgroundColor = UIColor.red


    let titleLabel = UILabel()
    titleLabel.textColor = .white
    titleLabel.text = titleStr
    self.navigationItem.titleView = titleLabel



    self.navigationController?.navigationBar.barTintColor = CommonUtils.hexStringToUIColor(hex: AppColor.colorTwentyScaleDarkerOfColorPrimaryDark)

    if var textAttributes = navigationController?.navigationBar.titleTextAttributes {
        textAttributes[NSAttributedString.Key.foregroundColor] = UIColor.white
        navigationController?.navigationBar.titleTextAttributes = textAttributes
    }
}

【问题讨论】:

    标签: ios swift uinavigationcontroller uitabbarcontroller


    【解决方案1】:

    在 OffersViewController 中:

    override func viewWillAppear(_ animated: Bool) {
            self.title = "Offers"
        }
    

    在之前的ViewController中

        override func viewWillDisappear(_ animated: Bool) {
            self.title = ""
        }
    
    
    

    你也可以试试这个:

    override func viewWillAppear(_ animated: Bool) {
            let titleLabel = UILabel()
            titleLabel.textColor = .white
            titleLabel.text = self.title
            self.navigationItem.titleView = titleLabel
    }
    

    【讨论】:

    • 这将显示黑色标题,并且不会从后退按钮中删除更多
    • 你在previousViewController中写了viewWillDisappear的代码吗?它应该工作。此外,您可以将文本颜色更改为编辑后的答案。您可能必须为标签指定一个框架
    • 这行不通,伙计。它仅适用于视图控制器,我将它们添加到导航控制器中。但是这个有操作系统添加的导航控制器。你明白我的意思了吗?
    • 嘿@A.s.ALI 你找到解决方案了吗?
    【解决方案2】:

    通常这是在视图控制器上加载的视图中完成的:

    override func viewDidLoad() {
        super.viewDidLoad()
       self.navigationItem.title = "Your Title"
    }
    

    【讨论】:

      猜你喜欢
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-14
      • 2020-05-24
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多