將右側導航欄按鈕設置爲禁用時,它不會更改其顏色以向用戶發出禁用狀態的信號。禁用導航欄按鈕項目
它仍然「突出顯示」,不變灰。
我在故事板設置按鈕,如下所示:
self.navigationController.navigationItem.rightBarButtonItem.enabled = NO;
什麼我需要做的改變button`s狀態可視化呢?
謝謝!
將右側導航欄按鈕設置爲禁用時,它不會更改其顏色以向用戶發出禁用狀態的信號。禁用導航欄按鈕項目
它仍然「突出顯示」,不變灰。
我在故事板設置按鈕,如下所示:
self.navigationController.navigationItem.rightBarButtonItem.enabled = NO;
什麼我需要做的改變button`s狀態可視化呢?
謝謝!
您可以嘗試手動更改色調顏色是這樣的:
self.navigationItem.rightBarButtonItem.tintColor = [UIColor grayColor];
這是未經測試的代碼,但它應該工作。另外,不要忘記在再次啓用時將其改回。這個答案。
應該是'[UIColor grayColor]' –
感謝Vijay-Apple-Dev.blogspo爲此答案。
self.navigationItem.leftBarButtonItem.enabled = NO;
self.navigationItem.rightBarButtonItem.enabled = NO;
這自動顯示灰色的按鈕,也禁用它們。
注意:在問題中的假設self.navigationController.navigationItem.rightBarButtonItem.enabled = NO; 作品似乎是錯誤的,在我的代碼中試用後,我發現它沒有任何效果。
再次感謝維傑指出,這可能是更好的使用:
self.navigationItem.hidesBackButton = YES;
由於蘋果不喜歡禁用後退按鈕。
就我個人而言,我將禁用右上角的按鈕並隱藏後退按鈕以阻止用戶按下它們,然後在我選擇時再次啓用它們。
的鏈接問題是here
這個答案張貼的完整性,因此未來用戶不需要繼續搜索過去的這個網頁。
嘗試這樣:
[[self.navigationItem.rightBarButtonItems objectAtIndex:0] setEnabled:NO];
相關答案都不能夠產生我一直在尋找的結果 - 但我能夠通過設置文本屬性上我的導航按鈕來解決這個問題:
[navButton setTitleTextAttributes:@{NSForegroundColorAttributeName:enabledColor} forState:UIControlStateNormal];
[navButton setTitleTextAttributes:@{NSForegroundColorAttributeName:disabledColor} forState:UIControlStateDisabled];
然後,我需要做的是以下內容,用戶interactability和自動色彩的變化:
navButton.enabled = YES; // or NO
我喜歡這個,我在發佈解決方案一個月後遇到了這個問題,我自己的解決方案回答了我的問題。 – Mike
更新到:
self.navigationItem.leftBarButtonItem?.isEnabled = true
是一個自定義按鈕?啓用設置爲FALSE應該暗淡一個普通的UIBarButtonItem – ChrisH
@ChrisH,我已經更新了我的問題。 – AlexR
如果您以編程方式添加完成按鈕,會發生什麼情況? – ChrisH