首先,我是Swift的新手,所以如果我失去了明顯的東西或使用錯誤的術語道歉。(Swift)標籤欄項目:自定義選擇的圖像與渲染asOriginal不顯示
目標:將選項卡欄項目選定圖像設置爲自定義圖像。
下面的設置工作(所選項目是自定義圖像):
| UITabBarController | => | UIViewController | (設置W /分鏡)
class MyViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let customSelectedImage = UIImage (named: "selected-image")?.withRenderingMode(.alwaysOriginal)
self.tabBarItem.selectedImage = customSelectedImage
}
}
但這種設置不起作用(選擇項有默認藍色色調):
| UITabBarController | => | UINavigationController | => | UIViewController | (設置w /故事板 - see here)
與上面類似的代碼,但添加(以編程方式)UICollectionView子視圖到UIViewController。
class MyViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
override func viewDidLoad() {
super.viewDidLoad()
let customSelectedImage = UIImage (named: "selected-image")?.withRenderingMode(.alwaysOriginal)
self.tabBarItem.selectedImage = customSelectedImage
...
//Some UICollectionView related code
...
}
}
有些事情可能會有所幫助:
- 在調試會話(see print screen)=>查看UI層次:所選擇的項目(標記爲類UITabBarSwappableImageView的)具有正確的自定義圖像,但色調默認爲藍色。我嘗試了不同的自定義圖像,看起來好像他們被另一個(默認值?)視圖隱藏...
- 如果我更改AppDelegate.swift應用程序中的UITabBar.appearance()。tintColor = UIColor.red(.. 。didFinishLaunchingWithOptions ...)函數,然後所選項目具有紅色(vs藍色)色調。
發生了什麼事?