簡體   English   中英

更改 UITabBar 圖標的顏色

[英]Change color of UITabBar Icon

我想將 UI 選項卡欄圖標顏色更改為以下值:紅色:0.75、綠色:1.0、藍色:1.0、Alpha:1.0 並在未選擇圖標時更改為白色。

直到現在我認為這就是你的做法:

UITabBarItem.appearance().finishedSelectedImage([NSForegroundColorAttributeName: UIColor(red: 0.75, green: 1.0, blue: 1.0, alpha: 1.0)], forState: UIControlState.Selected)

    UITabBarItem.appearance().finishedUnselectedImage([NSForegroundColorAttributeName: UIColor.whiteColor()], forState: UIControlState.Normal)

上面的代碼在我的委托中。

現在我已經把這個代碼:

import UIKit

class UITabBarViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    var testImage = UIImage(named: "22274")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
    testImageView.tintColor = UIColor.redColor()
    testImageView.image = testImage

    // Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}



}

進入我的標簽欄視圖控制器 cocco touch 文件。 我不知道為什么我仍然收到錯誤

我已經遍歷了UITabbarController的所有子控制器,然后設置了每個控制器的TabBarItem的顏色或色調,它確實有效。

如果 tabbaritem 有圖像,您可以通過以下方式設置其顏色:

var testImage = UIImage(named: "someImageName")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
testImageView.tintColor = UIColor.redColor()
testImageView.image = testImage

我認為它無法實現,您可以獲取所需顏色的圖像並在 UITabbar 中使用它,但是關於更改所有 TabBar 顏色,您可以在 Func 的 AppDelegate 中使用以下內容:

didFinishLaunchingWithOptions

要添加的行:

UITabBar.appearance().barTintColor = #colorLiteral(red: 0.2000651062, green: 0.1960035861, blue: 0.2000851929, alpha: 1)

UITabBar.appearance().tintColor = #colorLiteral(red: 0.2000651062, green: 0.1960035861, blue: 0.2000851929, alpha: 1)

UITabBar.appearance().unselectedItemTintColor = #colorLiteral(red: 0.7415059209, green: 0.5448099971, blue: 0.5051562786, alpha: 1) 

注意:您可以根據您的應用程序更改顏色

檢查圖像: https : //i.stack.imgur.com/wESVH.png

並有一個快樂的編碼日

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM