关闭

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

标签: uiscrollview继承iOS
645人阅读 评论(0) 收藏 举报

问题起源:准备在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 = [[TouchEventForTableView alloc] 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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14123次
    • 积分:197
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:1篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论