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)的大小相同。这是真的吗?如何让它变得更小?
此致
答案 0 :(得分:1)
您的代码存在的问题是您没有使用正确的渲染模式。试试这个:
deleteButton = IconButton(image: UIImage(named: "Trash")!.withRenderingMode(.alwaysOriginal))
一切顺利!