![](/img/trans.png)
[英]How to pass a touch event from a UIView to the UIView(s) beneath it?
[英]How can a covered UIControl or UIView know about a touch event that ended above it?
我有一個UIControl(或無關緊要的UIView),這由另一個UIControl覆蓋。 另一個UIControl對觸摸事件反應良好。 但是,從用戶的角度來看,底層的UIControl還需要了解觸摸以及它是否真正在其上。 覆蓋的UIControl是部分透明的。
我如何在底層UIControl上獲得這種聯系?
我認為您可以通過幾種方式解決此問題...
您可以將touch事件傳遞給另一個控件...盡管我不認為將上方視圖移到另一個視圖上會起作用? 您可能需要試驗。
比較簡單的方法可能只是查看下部矩形是否包含接觸點:
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent*)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint touchLocation = [touch locationInView:self];
if (CGRectContainsPoint(lowerView.frame, touchLocation)) {
<doyourthing>
}
我不會馬上就想起,但您可能需要在兩個視圖之間轉換視圖坐標?!? 或者您可以使用-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event來詢問視圖本身
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.