2017-05-10 2 views
0
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") 
    } 
} 

Hinweis ändern, dass MyVC von einer anderen ViewController geschoben wird.kosmischer Geist - wie Titelleiste Schaltfläche Tönungsfarbe

In MyVC, mag ich meinen Abfall in der oberen rechten Ecke des Bildschirms sein Symbol kann, was navigationItem.rightViews = [deleteButton] ist, und deleteButton.tintColor = Color.red.base rote Grundfarbe zu haben.

Aber es funktioniert nicht in dem Code oben, der Mülleimer ist immer noch schwarz. Wie kann ich die Farbtonfarbe ändern?

Es scheint, dass mein Trash-Symbol ein wenig größer ist als andere Cosmic Mind-Symbole gleichzeitig rightViews, obwohl es die gleiche Größe wie Cosmic Mind Icons (24x24 @ 1x) hat. Ist es wahr? Wie man es ein bisschen kleiner macht?

Grüße,

Antwort

1

Das Problem mit dem Code ist, dass Sie nicht mit dem richtigen Rendering-Modus sind. Versuchen Sie dies:

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

Alles Gute!

+0

Ein weiterer Trick besteht darin, in 'xcassets' zu setzen, indem man dieses Bild auswählt und dann' Template Image' in 'Render As' von' Attributes Inspector' wählt. Danke für den Tipp – quanguyen

Verwandte Themen