宇宙头脑 - 如何更改标题栏按钮的色调

时间:2017-05-10 08:07:07

标签: ios swift material-ui tintcolor cosmicmind

import UIKit
import Material

class MyVC: UITableViewController {
    fileprivate var deleteButton: IconButton!

    override func viewDidLoad() {
        super.viewDidLoad()

        prepareDeleteButton()

        navigationItem.rightViews = [deleteButton]
    }
    // other delegates of UITableView
}

extension MyVC {
    fileprivate func prepareDeleteButton() {
        deleteButton = IconButton(image: UIImage(named: "Trash"))
        deleteButton.tintColor = Color.red.base
        deleteButton.addTarget(self, action: #selector(doSomething), for: .touchUpInside)
    }

    @objc
    fileprivate func doSomething() {
        print("delete accessory")
    }
}

请注意,MyVC是从另一个ViewController推送的。

MyVC中,我希望我的垃圾桶图标位于屏幕的右上角,即navigationItem.rightViews = [deleteButton],并且具有红色基色deleteButton.tintColor = Color.red.base

但它在上面的代码中不起作用,垃圾桶仍然是黑色的。如何更改其色调?

似乎我的垃圾图标比同一rightViews的其他Cosmic Mind图标略大,尽管它与Cosmic Mind图标(24x24 @ 1x)的大小相同。这是真的吗?如何让它变得更小?

此致

1 个答案:

答案 0 :(得分:1)

您的代码存在的问题是您没有使用正确的渲染模式。试试这个:

deleteButton = IconButton(image: UIImage(named: "Trash")!.withRenderingMode(.alwaysOriginal))

一切顺利!