[英]Forward touches other than double tap to UITextView
我有一個UITextView
,我有多個UIView
。 UIView
上的任何觸摸操作都可以與相應的IBAction
相關聯。 在我的場景中,需要將雙擊手勢與UIView
的IBAction
相關聯,除此之外的任何其他觸摸都需要轉發到底層的UITextView
。
我執行上述場景的代碼塊
UITextView *textView = [[UITextView alloc] init];
UIView *subview = [[UIView alloc] init];
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:)];
doubleTap.numberOfTapsRequired = 2;
[subview addGestureRecognizer:doubleTap];
[textView addSubview: subview];
我嘗試了以下SO解決方案,
如何忽略觸摸事件並將它們傳遞給另一個子視圖的UIControl對象?
使用hitTest我無法捕獲UITextView
頂部的UITextView
雙擊手勢
使UIGestureRecognizer接收從子視圖開始的觸摸
轉發UITouch
從集touchBegan:withEvent:
中UIView
到UITextView
不給預期的默認行為UITextView
是否有其他解決方案可用於解決此問題?
提前致謝。
這可以通過以下方式完成:
子視圖是不必要的,刪除它,並替換:
[subview addGestureRecognizer:doubleTap];
WITH:
[textView addGestureRecognizer:doubleTap];
現在你應該在tapDetected:方法中獲取你的事件。
要確保您沒有更改UITextView行為,請使用以下方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;
要么
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.