设置导航栏标题背景颜色(swift)

时间:2016-06-01 01:26:14

标签: ios xcode swift uikit

我想在iOS中更改UI Navbar标题的背景。我希望最终结果如下图所示:

enter image description here

如果可能,或者我将不得不做一个解决方法,请告诉我。

Changing navigation bar color in Swift未解决UINavigationBar标题文字的背景颜色

3 个答案:

答案 0 :(得分:0)

您最好的选择是使用titleView的{​​{1}}属性。试试这样的事情

UINavigationBar

如果您有静态管理的托管 // Create new label that will service as a title view let titleView = UILabel() /* customize label to heart's content */ titleView.text = "TITLE HERE" // Set your custom background color titleView.backgroundColor = UIColor.grayColor() // Now set this is as the titleView of the navigation bar self.navigationItem.titleView = titleView (不是UINavigationController的一部分)。这样的事情应该有效:

UINavigationBar

答案 1 :(得分:0)

所以基本上你需要在navigationBarTitleView中添加一个UIView。然后将标签或UIImageView添加到Uiview,最后将该视图添加到TitleView。所以我在这里为titleView添加了标签。希望这会对你有所帮助: -

  override func viewDidLoad() {
    super.viewDidLoad()
    let navBarView: UIView = UIView()
    navBarView.frame = CGRectMake(0, 0, 100.0, 21.0)

    let label: UILabel = UILabel()
    label.frame = CGRectMake(0, 0, 90.0, 21.0)
    label.text = "Your Title"
    label.textAlignment = .Center
    label.backgroundColor = UIColor.grayColor()
    navBarView.addSubview(label)
    self.navigationItem.titleView = navBarView
    // Do any additional setup after loading the view, typically from a nib.
}

所以这是输出: -

enter image description here

答案 2 :(得分:0)

class SomeNavigationController: UINavigationController {

override func awakeFromNib() {
    super.awakeFromNib()

    self.navigationBar.topItem?.title = NavTitle
    }

}

我从常量swift类中引用了NavTitle。我希望这有帮助!