UIView添加手势 然后UITableView 添加进这个View 导致UITableView 的单元格点击事件无效
来源:互联网 发布:mac合上盖子播放音乐 编辑:程序博客网 时间:2024/05/16 18:46
解决方案是 添加手势的代理 重写- (BOOL)gestureRecognizer:(UIGestureRecognizer )gestureRecognizer shouldReceiveTouch:(UITouch )touch 函数
以下是代码
#import "ViewController.h"@interface ViewController ()<UITableViewDataSource,UITableViewDelegate,UIGestureRecognizerDelegate>@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; UIView * v = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 280, 100)]; v.backgroundColor = [UIColor redColor]; [self.view addSubview:v]; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewClick:)]; tap.delegate = self; [v addGestureRecognizer:tap]; UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 280, 100)]; tableView.delegate = self; tableView.dataSource = self; [v addSubview:tableView];}-(void) viewClick:(UITapGestureRecognizer*) tap{ NSLog(@"点击view");}-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 1;}-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return 1;}-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell * cell = [UITableViewCell new]; cell.textLabel.text = @"测试"; return cell;}-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ NSLog(@"点击单元格");}#pragma mark - UIGestureRecognizerDelegate- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ // 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件 if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) { return NO; } return YES;}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end
1 0
- UIView添加手势 然后UITableView 添加进这个View 导致UITableView 的单元格点击事件无效
- UIView添加手势 然后UITableView 添加进这个View 导致UITableView 的单元格点击事件无效
- UIView添加手势 然后UITableView 添加进这个View 导致UITableView 的单元格点击事件无效
- UIView添加UITapGestureRecognizer和UITableView点击冲突
- UITableView添加手势
- 使用XIB自定义一个UIView,然后将这个view添加到controller的view
- 使用XIB自定义一个UIView,然后将这个view添加到controller的view
- 为UITableView添加UISwipeGestureRecognizer手势
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效 或者点击UITableView的空白处收起键盘
- UIView 添加点击事件
- UIView添加点击事件
- UIView添加手势,UIbutton不响应点击事件
- 解决UITapGestureRecognizer手势与UITableView的点击事件的冲突
- UITableView的上下滑动与自己添加的手势冲突
- UITableView 索引的添加
- 添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- 关于在UITableView上添加PanGesture手势的方法
- UITableView 添加长按手势UILongPressGestureRecognizer
- ACM第二次练习—1017
- 安卓webView,js交互
- 通过automator实现在finder下自动打开vim
- 欢迎使用CSDN-markdown编辑器
- MediaPlay播放音乐初级应用
- UIView添加手势 然后UITableView 添加进这个View 导致UITableView 的单元格点击事件无效
- AIDL(AndroidInterfaceDefinitionLanguage:接口定义语言)
- 负载均衡时 session 的处理策略
- Android 图片的三级缓存
- java线程安全的单例类
- drupal access callback 所有用户都可以访问
- SpringMVC层跟JSon结合
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- 将一个字符串转换为整数