2016-06-30 70 views
0

我已經嘗試了很多東西,沒有一個解決了我的問題。 我得到警告:未能設置(tintColor)

無法設置(tintColor)用戶定義的檢查上 (UINavigationController的)屬性:[ 的setValue:forUndefinedKey:]:這個類不是關鍵值 編碼兼容的關鍵tintColor 。

我通過StoryBoard完成的所有色彩變化。我的代碼是用Swift編寫的。 故事板片段(當發生這種情況)是這樣的:

的ViewController - > TabBarController - > NavigationController - >的ViewController

唯一的 「用戶定義的運行屬性」 是tintColor(在NavigationController),但除去該沒」幫助。

任何想法?

+0

檢查NavigationController的'Inspector',看看是否有一些不需要的連接。 – ronan

+0

UINavigationController沒有tintColor屬性。您可以在視圖的層次結構中設置tintColor屬性(色調值),而不是視圖控制器的層次結構中。 – user3441734

+0

感謝所有的答案,沒有就沒有不希望的連接, @ user3441734對不起,我的意思是我設置的UITabBarItem的tintColor, 此外,我試着用tintColor在故事板(在源碼視圖)發表評論的一切,這也沒有幫助。 – Axel

回答

0

我發現解決方案,我的同事分別設置每個導航控制器的顏色。只需從所有導航控制器中刪除「tintColor」即可。 謝謝@ user3441734。 NavigationController也不會從UIView繼承。

+0

好吧,使用代碼集tintColor將覆蓋故事板上的設置。 – EricXuan

+0

@EricXuan如果可能的話,你應該使用StoryBoard,並且只能使用代碼中的自定義工作人員。如果你在代碼中做所有事情,你會在更大的項目中陷入混亂。 – Axel

+0

是的,我說得對。我只發佈改變tintColor的方式。 – EricXuan

0

如果你只是想在的viewController的viewDidLoad改變一個特定NavigationController的色調顏色,添加代碼

navigationController?.navigationBar.tintColor = /*your color*/ 

()。

或者你想改變所有NavigationController的色調的顏色,你可以添加代碼

UINavigationBar.appearance().tintColor = /*your color*/ 
在FUNC應用

(應用程序,didFinishLaunchingWithOptions)

或者你可以在改變應用的着色顏色故事板文件使用全局色調顏色選項。

+0

我在StoryBoard中修改了它,但這個工作正常,但我收到了警告,不明白爲什麼。 – Axel

+0

您在tintColor中設置了哪些控制器或控制器? – EricXuan

相關問題