Tho*_* N. 2 iphone uitableview ios
我正在使用这种方法
- (void)tableView:(UITableView *)tableView touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
if ([myPickerView isFirstResponder] && [touch view] != myPickerView) {
[myPickerView resignFirstResponder];
}
[super touchesBegan:touches withEvent:event];
}
Run Code Online (Sandbox Code Playgroud)
但我的tableView没有响应触摸(应用于视图工作,但这由tableView覆盖!)
如果这是不可能的 - 有没有其他可能捕获"窗外"的触摸?
Rob*_*ier 12
没有这样的委托方法tableView:touchesBegan:withEvent:.如果你想覆盖-touchesBegan:withEvent:你的UITableView,你需要子类UITableView.像这样的大多数问题往往更好地实现UIGestureRecognizer.在上面,我可能会使用一个UITapGestureRecognizer.
Ste*_*arp 11
我发现最简单的方法是在UITableViewController的视图中添加一个手势识别器.
我将此代码放在UITableViewController的viewDidLoad中:
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[self.view addGestureRecognizer:tap];
Run Code Online (Sandbox Code Playgroud)
并实现了事件处理程序:
- (void)handleTap:(UITapGestureRecognizer *)recognizer
{
// your code goes here...
}
Run Code Online (Sandbox Code Playgroud)
编辑:
您还可以将手势识别器添加到tableview,只需更改[self.view addGestureRecognizer:tap];为[self.tableView addGestureRecognizer:tap];
| 归档时间: |
|
| 查看次数: |
8957 次 |
| 最近记录: |