[英]UIButton not working when single tap gesture is added to superview
我有一個UIButton設置並像往常一樣連接到我的視圖控制器中的動作。 只是這個本身工作正常。
現在,我已將以下內容添加到我的視圖控制器中以設置單擊:
- (void)viewDidLoad {
[super viewDidLoad];
UITapGestureRecognizer * singleTapGesture = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(handleSingleTap:)];
[self.view addGestureRecognizer:singleTapGesture];
[singleTapGesture release]; }
現在,每次點擊按鈕時,它看起來都被點擊了,但它會觸發手勢識別器代碼而不是按鈕動作。
當我點擊按鈕時,我如何才能使按鈕工作,當我點擊視圖中的任何其他位置時,點擊手勢可以正常工作?
你的問題類似於這個問題,希望得到回答;)
這是一個簡單的解決方案
singleTapGesture.cancelsTouchesInView = NO;
安德魯,
在我看來,當用戶點擊除UI對象之外的任何地方時,你想要調用一個函數。
所以我的建議是創建一個屏幕大小的自定義按鈕(假設顯示灰色條,則為320x460)將其放回IB中的所有對象。 到這個時候,您將能夠看到幾乎0%不透明度的UIButton。
從IB拖動自定義按鈕的選擇器選項到文件所有者,並選擇您要調用的功能,你就完成了。
它比你在代碼中嘗試的更簡單
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.