我想添加一個圖像到導航欄。香港專業教育學院使用UINavigationBar外觀addSubview在iOS中不工作8
[[UINavigationBar appearance] addSubview:logoImage];
似乎與iOS 7的工作,但不與iOS 8的工作,任何人可以請解釋爲什麼發生這種情況,什麼是對的iOS 8添加導航欄上的ImageView的替代方式?
我想添加一個圖像到導航欄。香港專業教育學院使用UINavigationBar外觀addSubview在iOS中不工作8
[[UINavigationBar appearance] addSubview:logoImage];
似乎與iOS 7的工作,但不與iOS 8的工作,任何人可以請解釋爲什麼發生這種情況,什麼是對的iOS 8添加導航欄上的ImageView的替代方式?
調用[[UINavigationBar appearance]
返回接收器類的外觀代理。 addSubview:
方法未標記爲UI_APPEARANCE_SELECTOR
。 UIAppearance的代理方法的一個主要缺點是很難知道哪些選擇器兼容。
這篇文章解釋了它好一點:http://nshipster.com/uiappearance/ 而這個鏈接https://gist.github.com/mattt/5135521從文章中顯示,被標記爲UI_APPEARANCE_SELECTOR
在iOS的7
你應該繼承UINavigationBar
並調用[[UINavigationController alloc] initWithNavigationBarClass:toolBarClass:]
方法。將您的新導航欄子類作爲第一個參數,並將nil作爲第二個參數,以使用標準UIToolbar
。在你的子類中,像你一樣添加圖像。
另一種可行的方法是獲取導航控制器的導航欄並在其中添加子視圖,如下所示: [self.navigationController.navigationBar addSubview:logoImage]
。這可能會起作用,但創建自己的子類肯定會給你更多的靈活性。
非常感謝我需要一個快速修復和'[self.navigationController.navigationBar addSubview:logoImage]'完美的工作,所以沒有子類的'UINavigationBar' – Bonnie 2014-10-23 08:20:15