相关疑难解决方法(0)

如何更改UINavigationItem的背景颜色?

我有一个UINavigationItem,但我在属性检查器中的tittle,prompt和back按钮旁边找不到任何东西

在此输入图像描述

我想知道如何UINavigationItem使用代码更改背景颜色?还是以编程方式?

iphone uinavigationitem ios swift

11
推荐指数
1
解决办法
9729
查看次数

设置导航和状态栏文本颜色

我正在尝试更改我的应用程序中导航栏的文本颜色,但我无法弄清楚它是如何完成的.在Xcode 6 beta 2之前我使用的是:

navigationController.navigationBar.titleTextAttributes = [UITextAttributeTextColor: UIColor.whiteColor()]
Run Code Online (Sandbox Code Playgroud)

这工作得非常好但是在更新到新版本之后我只是得到一个错误,说明'titleTextAttributes'在Swift中不可用.

另外,如何更改状态栏的文本颜色?我已经尝试在Attributes检查器中更改它,我也尝试通过代码遵循Objective C示例,但我仍然无法让它工作.

xcode swift

2
推荐指数
1
解决办法
2141
查看次数

导航栏为白色,而isTranslucent = false

我有一个主导航控制器,在其中设置背景颜色

 override func viewDidLoad() {
    super.viewDidLoad()

    self.navigationBar.backgroundColor = UIColor.blue
    self.navigationBar.isTranslucent = false
}
Run Code Online (Sandbox Code Playgroud)

但是,在那种情况下,我的导航栏会变成完全白色。当我将isTranslucent设置为true时,我的导航栏将变为透明,但这实际上不是我所需要的。我只想有蓝色的导航栏。

以防万一在我的导航控制器中

override var preferredStatusBarStyle: UIStatusBarStyle{ return .lightContent }
Run Code Online (Sandbox Code Playgroud)

并在AppDelegate中设置色调颜色

UINavigationBar.appearance().tintColor = UIColor.white
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
Run Code Online (Sandbox Code Playgroud)

评论tintColor也没有帮助我。

这是我的“蓝色”导航栏

objective-c uinavigationcontroller ios swift

2
推荐指数
1
解决办法
2357
查看次数

当导航栏为大标题时,不应用 barTintColor

我正在更新一个在 Xcode 10 上编译并在 iOS 13 上正常运行的应用程序。我想进行一些更改,因此在 Xcode 11 上重新编译,但现在 barTintColor 出现问题。

如果“大标题”设置为“始终”,则不会应用我的自定义 barTintColor - 我只会获得默认的灰色。如果“大标题”设置为“从不”,我的自定义 barTintColor 将按预期应用。如果“大标题”设置为“自动”,则显示大标题时导航栏默认为灰色,显示小标题时导航栏为我的自定义颜色。例如,当我的导航栏下方的TableView被向上推时,默认的大标题切换为小标题,并且我的导航栏改变颜色。正常行为是它始终是我的自定义颜色。

我的 ViewController 类中的相关代码,最后一行是设置 barTintColor 的代码:

override func viewDidLoad() {
    super.viewDidLoad()

    setDelegates()
    setTableViewHeightForCollapsingHeaders()
    setNavigtionBarItems()
    doSplitViewManagement()
}


override func viewWillAppear(_ animated: Bool) {
    clearsSelectionOnViewWillAppear = splitViewController!.isCollapsed
    super.viewWillAppear(animated)
    updateUI()
}

fileprivate func setNavigtionBarItems() {
    //set up UI buttons
    navigationItem.leftBarButtonItem = editButtonItem
    let addButton = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(insertNewObject(_:)))
    navigationItem.rightBarButtonItem = addButton

    navigationController?.navigationBar.barTintColor = UIColor(hex: 0x5da0a2)

}
Run Code Online (Sandbox Code Playgroud)

知道行为发生变化的原因以及如何解决吗?

uinavigationbar ios swift uinavigationbarappearance

2
推荐指数
1
解决办法
4352
查看次数