我在我的Toolbar.i中有一個UiBarButton項目,需要關閉用戶在 UiBarButton中的觸摸交互。沒有setUserInteractionEnabled屬性。當我隱藏它時,沒有正確的可見性。任何人都可以告訴我,如何禁用UIbarbutton的用戶觸摸交互而不禁用它?如何禁用UIbarbutton的用戶觸摸而不禁用?
回答
你總是可以做到:
[yourbutton removeTarget:nil
action:NULL
forControlEvents:UIControlEventAllEvents];
,將刪除與該按鈕相關聯的所有行動和目標。
沒有removeTarget:nil action:NULL forControlEvents:UIControlEventAllEvents];方法爲uibarbutton – Christina 2011-06-02 14:47:45
製作與您的按鈕關聯的自定義屬性。
比方說,您的按鈕觸發以下動作:
-(IBAction)fireOnButtonPress:(id)sender {
// do something
}
做一個實例變量,例如BOOL interactionEnabled;
,並在您的viewDidLoad或其他init方法將其設置爲YES
interactionEnabled = YES;
當您需要禁用按鈕交互,只需將其設置爲NO
interactionEnabled = NO;
在你的方法是發射時按下按鈕,只需添加一個if條件檢查,看的interactionEnabled
的狀態是什麼,就像這樣:
-(IBAction)fireOnButtonPress:(id)sender {
if(interactionEnabled) {
// do something
}
// otherwise ignore button press
}
這不會禁用按鈕,但它將阻止用戶在你不想要的時候與之交互。
你可以在這裏找到你的答案。
在.h文件中:
IBOutlet UIBarButtonItem *button1;
在.m文件:
[button1 setEnabled:FALSE];
在.h文件中並獲得在實現文件中創建的UIBarButtonItem爲IBOutlet中,你可以使用的problerty UIBarButtonItem - 「setEnabled」使其啓用或禁用。
讓我知道你是否需要更多幫助。
您將alloc-init作爲UIBarbuttonItem(如何?請參閱此post)不帶文本的自定義UILabel,它應該足夠大以覆蓋要禁用的UIBarbuttonItem。它爲我工作。
你可以這樣做:
[barButtonItem setTarget:nil];
[barButtonItem setAction:nil];
按鈕看起來啓用,但不會接收任何觸摸事件。
謝謝,我節省了一些時間。我認爲只設置爲零的動作也會禁用它。 – 2017-02-16 09:10:50
要在UIToolBar中擁有標題,請將UIBarButtonItem添加到工具欄,然後將其customView屬性設置爲UILabel。然後,您可以設置標籤的文字並且不會有任何突出顯示等。
// In @interface section:
@property (weak, nonatomic) IBOutlet UIBarButtonItem *titleButtonItem;
// In @implementation section:
- (void)viewDidLoad {
...
UILabel *titleLabel = [[UILabel alloc] init];
self.titleButtonItem.customView = titleLabel;
titleLabel.text = @"Some Title Text";
[titleLabel sizeToFit];
...
}
- 1. 禁用觸摸Achartengine
- 2. 如何禁止用戶觸摸Form1而Form2被打開
- 3. 啓用和禁用觸摸
- 4. 如何禁用網頁上的用戶輸入(包括觸摸)
- 5. 如何在android中禁用觸摸屏?
- 6. 如何禁用觸摸事件android
- 7. 如何在VideoView中禁用觸摸?
- 8. Android:我如何禁用可觸摸性?
- 9. 如何在Sublime中禁用觸摸欄
- 10. 如何從傾聽觸摸禁用pullToRefreshScrollView
- 11. 如何禁用觸摸事件?
- 12. 如何在Quintus中禁用觸摸?
- 13. Cocos2d android禁用觸摸
- 14. Swift:禁用UITableViewCell觸摸
- 15. 暫時禁用CCLayerPanZoom觸摸
- 16. 如何在一次觸摸後禁用CGRect/Sprite上的觸摸
- 17. 如何禁用用戶在recyclerview(autoscroll)Android上觸摸或滾動?
- 18. 如何在不禁用高亮顯示的情況下禁用觸摸行
- 19. 禁用多點觸摸不工作ios
- 20. userInteractionEnabled不禁用觸摸事件
- 21. 使用Visual Basic禁用觸摸屏
- 22. 啓用Tableview滾動但禁用觸摸
- 23. 觸發禁用用戶
- 24. 觸摸被禁用的充氣視圖
- 25. 禁用精靈背後的觸摸
- 26. 禁用多觸摸的圖紙視圖
- 27. cocos2d的精靈禁用觸摸
- 28. 如何禁用觸摸覆蓋在windows8的移動應用
- 29. 如何禁用/重新啓用Android中的觸摸事件?
- 30. 目標c按鈕禁用隊列用戶觸摸ups
你好克里斯蒂娜,你可以檢查你的答案,因爲我張貼在下面。使用UIBarButtonItem。 – AppAspect 2011-07-12 09:34:52