UItableViewController添加UITouch事件(添加点击事件)

来源:互联网 发布:语c软件 编辑:程序博客网 时间:2024/06/06 02:58

问题起源:准备在tableview的头视图添加UITouch事件,发现没有响应。

查找问题:经过查找,原因是事件响应被UIScrollView拦截了。

解决方法:创建一个继承于tableView类,给这个tableView添加一个点击事件,把收回键盘的代码写在这个事件中,然后让有这个需求的tableView都继承自这个tableView。(代码来源 - http://m.blog.csdn.net/blog/delicious_d/44487127)

在.h 文件中

#import <UIKit/UIKit.h>
@interface InfomationTableView : UITableView- (void)addToucheEvent:(UITapGestureRecognizer *)tap;@end
在.m 文件中

@implementation InfomationTableView- (id)initWithFrame:(CGRect)frame style:(UITableViewStyle)style{    self = [super initWithFrame:frame style:style];    if (self) {        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(addToucheEvent:)];        [self addGestureRecognizer:tap];    }    return self;}- (void)addToucheEvent:(UITapGestureRecognizer *)tap{    [self endEditing:YES];}

在你需要用到的地方创建实例对象:

    TouchEventForTableView *tableView = [[TouchEventForTableViewalloc] initWithFrame:CGRectMake(0,         0self.view.width,self.view.height-64-80)style:UITableViewStyleGrouped];

   tableView.dataSource =self;

   tableView.delegate =self;

   self.tableView = tableView;(self.tableView是我原tableViewController的






0 0
原创粉丝点击