[英]How to set touch events in subviews?
我有一個主視圖控制器,其中有兩個子視圖,一個是注釋視圖,另一個是共享視圖。 當我單擊主視圖控制器中的tableview的單元格時,它彈出note-view,在note-view中有按鈕,如果用戶點擊按鈕,則彈出另一個子視圖,即share-view。但是當用戶點擊note-view時我需要關閉共享視圖。是否可以在子視圖中實現觸摸事件? 我已完成此編碼,但結果是viewdidload中的錯誤
NotesView *label =[[NotesView alloc]init];
UITapGestureRecognizer *tapGesture =
[[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(NoteTap)] autorelease];
[label addGestureRecognizer:tapGesture];
[tapGesture release];
然后
-(void)NoteTap
{
UIView *langview = (UIView *)[self.view viewWithTag:120];
//ViewWithTag Number should be same as used while allocating
[langview removeFromSuperview];
}
在touchesBegan:
視圖控制器中,您可以檢查觸摸事件是否在子視圖的框架內發生,如此。
CGPoint touchPoint = [touch locationInView:self];
if (CGRectContainsPoint(label.frame, touchPoint)) {
UIView *langview = (UIView *)[self.view viewWithTag:120];
[langview removeFromSuperview];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.