我在 UIview 中添加了 UIScrollView,并在滚动视图中添加了一个按钮,当我按下该按钮时,它会在 uiscrollview 中生成表格。现在我的问题是,当用户触摸滚动视图中的任何位置时,我想删除该表格。我尝试使用 touches started 方法,但对于滚动视图它不起作用。如果有人知道,请帮助我
提前致谢
touchesBegan
除非您子类化,否则方法将不起作用。
UITapGestureRecognizer
是您的解决方案。您可以按如下方式使用它。
...
UITapGestureRecognizer *tapRecognizer=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapScrollView)];
[scrollView addRecognizer:tapRecognizer];
[tapRecognizer release]; //If not ARC
-(void)didTapScrollView
{
[tableView removeFromSuperview];
}
如果用户点击按钮,滚动视图将不会接收到触摸。相反,创建如下所示的方法并将其添加为按钮的目标。
- (void)hideTable {
[yourTableView setHidden:YES];
}
创建按钮时,或者viewDidLoad
如果它是从 nib 加载的,请将方法添加为按钮的目标:
[yourButton addTarget:self action:@selector(hideTable)
forControlEvents:UIControlEventTouchUpInside];