ios - 如何从 UINavigationBar 子类设置 barTintColor

标签 ios swift uinavigationbar

我有一个 UINavigationBar 的子类。 如何在这个子类中设置 barTintColor

class NavBar: UINavigationBar {

    override func sizeThatFits(_ size: CGSize) -> CGSize {
        return CGSize(width:UIScreen.main.bounds.width, height: 66)
    }

}

最佳答案

你只需要覆盖 UINavigationBar 的初始化程序。

class NavBar: UINavigationBar {

    override init(frame: CGRect) {
        super.init(frame: frame)
        commonInit()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        commonInit()
    }

    private func commonInit() {
        // Change barTintColor to whatever you would like 
        self.barTintColor = .red
    }

    override func sizeThatFits(_ size: CGSize) -> CGSize {
        return CGSize(width:UIScreen.main.bounds.width, height: 66)
    }
}

关于ios - 如何从 UINavigationBar 子类设置 barTintColor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43457744/

相关文章:

ios - ITMS-90034 : Missing or invalid signature error

ios - 强制 iOS CloudKit 同步更新,将所有记录下载到本地设备

ios - clang : error: linker command failed with exit code 1 (use -v to see invocation); "__TMaC15PasswordManager14ViewController", 引用自:

ios - 在屏幕外生成

ios - UINavigationBar 设置背景,并设置半透明不起作用

swift - 无法更改导航栏不透明度

ios - 如何在ios中使用for循环创建空数组

ios - 如何通过单击按钮删除按钮占用的空间

ios - 如何向 URL 中插入值以向 YQL 发出请求

ios - Push Segue 之后在导航栏上添加 UIView