2017-06-23 1 views
0

Ich habe ein Bild im Ordner "Assets" und es wird nicht in der Tab-Leiste angezeigt. Ich habe "Rendern als" auf "Originalbild" eingestellt, wie andere Antworten gesagt haben, aber das behebt das Problem nicht.Tab-Leiste Element Bild wird nicht angezeigt

class CustomTabBarController: UITabBarController { 
override func viewDidLoad() { 
    super.viewDidLoad() 


    let homeController = HomeController(collectionViewLayout: UICollectionViewFlowLayout()) 
    let navigationController = UINavigationController(rootViewController: homeController) 
    navigationController.tabBarItem.image = UIImage(named:"news_feed_icon") 

    viewControllers = [homeController] 

    } 
} 
+0

Halten 72X72 Bild. – Hasya

Antwort

0

Es könnte ein paar Gründe, warum dies geschieht:

1) Sie den falschen Namen für das

2) Das Bild von Bild eingegeben haben kann eine Größe, die zu groß ist, um angezeigt zu werden. Tab-Objektbilder sollten eine Größe von etwa 28pt-32pt (Pixel) haben.

3) Es kann auch nicht das richtige Format sein. Tab Bar-Bilder sollten PNG sein, die mit einer einfarbigen Farbe gerendert werden. Wenn Sie versuchen, ein JPEG eines Baumes in einem Park oder etwas zu laden, funktioniert das vielleicht nicht so gut.

Auch

ich gefunden habe, müssen Sie explizit einen Artikel neue Tab-Leiste erstellen, wenn Sie zu Änderung das Bild eines UITabBarItem wünschen. Normalerweise entferne ich alle Objekte aus meiner Tableiste und erstelle alle neuen Objekte mit dem neuen Bild, wenn ich "updaten" und ein Image auf ein UITabBarItem erstellen muss.

Also, wenn das Ihr Problem ist, würde ich vorschlagen, eine Funktion in Ihrem View-Controller, der genau das tun und in Ihrem viewDidLoad oben, einfach diese Funktion auf Ihrem Controller aufrufen.

0

Versuchen Sie dies.

hinzufügen in viewDidLoad

let customTabBarItem:UITabBarItem = UITabBarItem(title: nil, image: UIImage(named: "news_feed_icon")?.withRenderingMode(UIImageRenderingMode.alwaysOriginal), selectedImage: UIImage(named: "news_feed_icon")) 
    self.tabBarItem = customTabBarItem 
+0

es funktioniert nicht. Ich versuchte auch, mich selbst zu ändern, um den Namen der Klasse zu nennen. – jhaywoo8

+0

haben Sie in homeViewController hinzugefügt? – KKRocks

0

Ich bin nicht sicher, warum, aber man braucht eine andere Sequenz des gleichen Codes zu folgen. Dazu fügen Sie zuerst Ihre ViewController zur TabBar hinzu und fügen dann ihr Image hinzu.

class CustomTabBarController: UITabBarController { 
override func viewDidLoad() { 
    super.viewDidLoad() 


    let homeController = HomeController(collectionViewLayout: UICollectionViewFlowLayout()) 
    let navigationController = UINavigationController(rootViewController: homeController) 

    //First do this 
    viewControllers = [homeController] 

    //Then add image 
    navigationController.tabBarItem.image = UIImage(named:"news_feed_icon") 
    } 
}