当用户触摸 uiscrollview 时隐藏表格
Posted
技术标签:
【中文标题】当用户触摸 uiscrollview 时隐藏表格【英文标题】:Hiding the table when the user touches on uiscrollview 【发布时间】:2012-11-27 17:07:19 【问题描述】:我在 UIview 中添加了 UIScrollView,并在滚动视图中添加了一个按钮,当我按下该按钮时,它会在 uiscrollview 中生成表格。现在我的问题是,当用户触摸内部的任何位置时,我想删除该表格scrollview。我尝试使用 touches started 方法,但对于滚动视图,它不起作用。如果有人知道,请帮助我
提前致谢
【问题讨论】:
【参考方案1】:如果用户点击按钮,滚动视图将不会接收到触摸。相反,请创建如下所示的方法并将其添加为按钮的目标。
- (void)hideTable
[yourTableView setHidden:YES];
当您创建按钮时,或者在viewDidLoad
中,如果它是从 nib 加载的,则将该方法添加为按钮的目标:
[yourButton addTarget:self action:@selector(hideTable)
forControlEvents:UIControlEventTouchUpInside];
【讨论】:
【参考方案2】:touchesBegan
方法将不起作用,除非您继承。
UITapGestureRecognizer
是适合您的解决方案。您可以按如下方式使用它。
...
UITapGestureRecognizer *tapRecognizer=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapScrollView)];
[scrollView addRecognizer:tapRecognizer];
[tapRecognizer release]; //If not ARC
-(void)didTapScrollView
[tableView removeFromSuperview];
【讨论】:
以上是关于当用户触摸 uiscrollview 时隐藏表格的主要内容,如果未能解决你的问题,请参考以下文章
当用户放大 UIScrollView 时如何隐藏某些内容,然后在缩小时显示它?