簡體   English   中英

iOS-如何更改選項卡欄中圖標的顏色moreViewController

[英]iOS - How to change color of icons in tab bar moreViewController

我想將moreNavigationController的圖標(可能是徽章)的moreNavigationController從灰色更改為其他顏色。

我已閱讀並成功更改了背景和文本的顏色。 我是通過“替換” moreViewController數據源來moreViewController (例如,在此處定制“標簽”欄上的“更多”菜單 )。 但是,此處更新圖標(以及textLabel值)無效。 是否可以將此灰色更改為白色(或其他顏色)? 還是我必須實現自己的tabBarController (有什么好的教程嗎?)

PS。 我知道如何更改標簽欄本身的圖標,問題是如何在moreViewController執行此moreViewController

謝謝! 皮特

萬一它仍然與任何人有關。 您可以更改moreViewController的tableView中顯示的圖標顏色:

self.tabBarController?.moreNavigationController.topViewController?.view.tintColor = UIColor.redColor()

更改標題就像這樣:

self.tabBarController?.moreNavigationController.navigationBar.topItem?.title = "MyString"

更改編輯按鈕:

self.tabBarController?.moreNavigationController.navigationBar.tintColor = UIColor.redColor()

您可以使用iOS 5中新增的外觀代理來執行此操作。在應用程序委托的didFinishLaunching方法中:

[[UITabBar appearance] setSelectedImageTintColor:[UIColor redColor]];
In iOS 7 use:

[[UITabBar appearance] setTintColor:[UIColor redColor]];

有關更多詳細信息,請參見UITabBar類參考。

好的,從對網絡的長期研究和對該線程的答案來看,似乎無法在iOS7上更改UITabBarController moreViewController中顯示的圖標的顏色(灰色)。 可自定義標簽欄的最佳解決方案是實施它(或使用某些庫)。

謝謝!

您可以更改顏色,只需將標簽欄控制器子類化,並在其視圖中加載以下代碼即可

  override func viewDidLoad() {
    super.viewDidLoad()
    var view = self.moreNavigationController.topViewController.view as UITableView
    view.tintColor = Utilities.mainColor()
    view.separatorStyle = .None
  }

有關更多信息,您可以在這里看到我的問題: 更改標簽欄的色調顏色編輯視圖控制器

暫無
暫無

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

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