更改工具栏颜色

时间:2016-11-02 13:53:02

标签: ios swift

它适用于navigationBar:

var colour = UIColor.red
self.navigationController?.navigationBar.tintColor = colour

但是不适用于工具栏:

self.navigationController?.toolbar.tintColor = colour

我搜索了互联网并堆栈溢出。没有答案对我来说是可行的。 有人说:

self.toolbar.barTintColor = UIColor.redColor()

它也不适合我。 (类型' thisView'没有成员'工具栏')

我想在编码中编辑工具栏颜色。故事板设置没有变化。感谢。

编辑: 我正在努力在webview下添加一个工具栏。喜欢回去,停下来,重装。

enter image description here

    //

    import UIKit

    class ViewController: UIViewController {


    @IBOutlet weak var webView: UIWebView!

    var colour = UIColor.red

    override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationController?.navigationBar.tintColor = colour

        // problem in here ..........................
        self.navigationController?.toolbar.tintColor = UIColor.black


        let URL = NSURL(string: "https://www.apple.com")        
        webView.loadRequest(NSURLRequest(url: URL! as URL) as URLRequest)
    }



    @IBAction func backButton(_ sender: AnyObject) {
        webView.goBack()
    }


    @IBAction func nextButton(_ sender: AnyObject) {
        webView.goForward()
    }

    @IBAction func refreshButton(_ sender: AnyObject) {
        webView.reload()
    }

    @IBAction func stopbutton(_ sender: AnyObject) {
        webView.stopLoading()
    }

}

2 个答案:

答案 0 :(得分:1)

如果您的故事板中的ViewController上只有一个工具栏,您需要做的就是将IBOutlet添加到View Controller并将故事板中的工具栏连接到该插座。这段代码放在你的ViewController

@IBOutlet var toolbar: UIToolbar?

然后,在故事板中,按住控制按钮,然后单击从视图控制器(在左侧边栏中)拖动到工具栏。这将在故事板中的工具栏与代码中的工具栏var之间创建连接。完成连接之后,您需要做的就是在工具栏变量上设置barTintColor,如下所示:

self.toolbar.barTintColor = UIColor.blue

答案 1 :(得分:0)

几天前我写了这个函数,以解决你无法改变颜色的问题。

func setStatusBarColor(){
        let view = UIView(frame: CGRect(x: 0.0, y: 0.0, width: UIScreen.main.bounds.size.width, height: 20.0))
        view.backgroundColor = UIColor(red: 81/255, green: 184/255, blue: 222/255, alpha: 1)
        self.view.addSubview(view)
    }

还要确保将状态栏设置为.lightContent

UIApplication.sharedApplication().statusBarStyle = .LightContent