簡體   English   中英

如何在子視圖中設置觸摸事件?

[英]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.

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