簡體   English   中英

單擊手勢添加到superview時,UIButton無法正常工作

[英]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]; }

現在,每次點擊按鈕時,它看起來都被點擊了,但它會觸發手勢識別器代碼而不是按鈕動作。

當我點擊按鈕時,我如何才能使按鈕工作,當我點擊視圖中的任何其他位置時,點擊手勢可以正常工作?

你的問題類似於這個問題,希望得到回答;)

UIButton在具有UITapGestureRecognizer的視圖中

這是一個簡單的解決方案

singleTapGesture.cancelsTouchesInView = NO;

安德魯,

在我看來,當用戶點擊除UI對象之外的任何地方時,你想要調用一個函數。

所以我的建議是創建一個屏幕大小的自定義按鈕(假設顯示灰色條,則為320x460)將其放回IB中的所有對象。 到這個時候,您將能夠看到幾乎0%不透明度的UIButton。

從IB拖動自定義按鈕的選擇器選項到文件所有者,並選擇您要調用的功能,你就完成了。

它比你在代碼中嘗試的更簡單

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM