我有一個推動UIViewController的導航控制器。我想在用戶按下某個按鈕時更改導航項目的後退按鈕的色調。這可能嗎?我曾嘗試使用[UIBarButtonItem appearance] setTintColor:
,但它只適用於初始化(例如在viewDidLoad中),否則不起作用。iOS:更改後退按鈕的色調顏色?
回答
試試這個......
您需要使用的UIBarButtonItem與自定義視圖。事情是這樣的:
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 70, 30)];
[button addTarget:target action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];
[button setImage:[UIImage imageNamed:@"back_button.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"back_button_tap.png"] forState:UIControlStateHighlighted];
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
並把按鈕,導航欄,通常與UINavigationController的控制器:
self.navigationItem.leftBarButtonItem = buttonItem;
在那個叫上你的按鈕點擊的方法,只是把[self.navigationItem.backBarButtonItem setTintColor:[UIColor *whateverColorYouWant*]]
;我沒有測試過,但我99%肯定會工作
編輯: 只是測試它,它的工作原理。
下面是改變後退按鈕的文本和彩色代碼:
- (void)viewDidLoad
{
UIBarButtonItem *backButton = [UIBarButtonItem new];
[backButton setTitle:@"Back"];
[backButton setTintColor:[UIColor yellowColor]];
[[self navigationItem] setBackBarButtonItem:backButton];
}
這實際上工作嗎?我記得你需要使用setLeftBarButtonItem和你的自定義按鈕並將hidesBackbutton設置爲TRUE,但是你不能覆蓋後臺按鈕項屬性(因爲它是在導航時生成的)... – EeKay
對我來說,最簡單的事情就是要爲所有uibarbutton項目着色顏色:
[[UIBarButtonItem appearance]setTintColor:[UIColor yourColor]];
然後明確設置我的導航欄,以其他的色彩營造出&地方明確navigationbuttons的tintcolor ...
爲我節省了C的頭痛當我想要做的事情是改變色彩時,重新定製後扣。
這隻適用於普通的酒吧按鈕。但不適用於後退按鈕。 –
試試這個:
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class],[UIToolbar class], nil] setTintColor:[UIColor redColor]];
- 1. 更改UINavigationController後退按鈕的顏色
- 2. 更改UIPopoverController顏色(和後退按鈕顏色)
- 3. 更改後退按鈕中箭頭的顏色iOS
- 4. 更改抽屜式導航按鈕(後退按鈕)的顏色?
- 5. iOS:更改MFMailComposeViewController中的草稿按鈕色調顏色
- 6. iOS - 按下按鈕後更改按鈕顏色不起作用
- 7. 更改顏色的按鈕
- 8. 如何更改後退按鈕的顏色?
- 9. Ruby Motion如何更改後退按鈕的默認顏色?
- 10. 如何更改導航欄中的後退按鈕顏色?
- 11. 如何更改DetailViewController中的後退按鈕顏色?
- 12. 更改UITableView「後退按鈕」到不同的顏色
- 13. 更改WinJS.UI.BackButton的顏色(Win 8.1後退按鈕)
- 14. IBAction按鈕更改顏色?
- 15. 更改按鈕顏色
- 16. 按鈕更改顏色
- 17. 更改按鈕顏色
- 18. 更改AlertDialog.Builder按鈕顏色
- 19. 更改radcombobox按鈕顏色
- 20. 更改按鈕顏色onClick
- 21. 如何更改顏色後退按鈕在Ioinc2
- 22. 在xamarin中更改導航欄後退按鈕顏色android
- 23. IOS 5如何更改導航欄中後退按鈕的顏色?
- 24. ActionBarSherlock後退按鈕顏色變化?
- 25. 導航欄後退按鈕顏色
- 26. 更改按鈕顏色作爲背景顏色更改?
- 27. IOS:改變按鈕的顏色
- 28. 更改TextView按下按鈕的顏色
- 29. 更改活動共享中按鈕的色調顏色
- 30. 如何更改iOS7中UISearchBar的取消按鈕色調顏色
我只是想這和它的墜毀是因爲backBarButtonItem爲空。任何想法,爲什麼這將是如何解決它? –
你是否試圖改變後退按鈕的顏色(它是一種類似箭頭的形狀)?如果它只是一個常規的barButtonItem,那麼你可以嘗試改變leftBarButtonItem和rightBarButtonItem的tintColor。 –
我的意思是導航控制器提供的箭頭形狀後退按鈕,而不是我添加的按鈕。 –