为UITableView增加左右滑动事件

UITableView 屏蔽了左右滑动事件.  通过重载的方式可以注入事件touch事件, 供开发者使用..

 1  //
 2  //   TouchTableView.h
 3  //   i2fBank4Iphone
 4  //
 5  //   Created by khan.lau on 13-1-8.
 6  //   Copyright (c) 2013年 khan.lau. All rights reserved.
 7  //
 8 
 9 #import <UIKit/UIKit.h>
10 
11 
12 @protocol TouchTableViewDelegate <NSObject>
13 @optional
14 - ( void)tableView:(UITableView *)tableView touchesBegin:(NSSet *)touches withEvent:(UIEvent *) event;
15 - ( void)tableView:(UITableView *)tableView touchesCancelled:(NSSet *)touches withEvent:(UIEvent *) event;
16 - ( void)tableView:(UITableView *)tableView touchesEnded:(NSSet *)touches withEvent:(UIEvent *) event;
17 - ( void)tableView:(UITableView *)tableView touchesMoved:(NSSet *)touches withEvent:(UIEvent *) event;
18 @end

 1   //
 2   //   TouchTableView.m
 3   //   i2fBank4Iphone
 4   //
 5   //   Created by khan.lau on 13-1-8.
 6   //   Copyright (c) 2013年 khan.lau. All rights reserved.
 7   //
 8  
 9  #import "TouchTableView.h"
10 
11 @implementation TouchTableView
12 
13 @synthesize touchDelegate = _touchDelegate;
14 
15 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
16     [super touchesBegan:touches withEvent:event];
17     
18     if ([_touchDelegate conformsToProtocol:@protocol(TouchTableViewDelegate)] &&
19         [_touchDelegate respondsToSelector:@selector(tableView:touchesBegin:withEvent:)])
20     {
21         [_touchDelegate tableView:self touchesBegin:touches withEvent:event];
22     }
23 }
24 
25 - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
26     [super touchesCancelled:touches withEvent:event];
27     
28     if ([_touchDelegate conformsToProtocol:@protocol(TouchTableViewDelegate)] &&
29         [_touchDelegate respondsToSelector:@selector(tableView:touchesCancelled:withEvent:)])
30     {
31         [_touchDelegate tableView:self touchesCancelled:touches withEvent:event];
32     }
33 }
34 
35 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
36     [super touchesEnded:touches withEvent:event];
37     
38     if ([_touchDelegate conformsToProtocol:@protocol(TouchTableViewDelegate)] &&
39         [_touchDelegate respondsToSelector:@selector(tableView:touchesEnded:withEvent:)])
40     {
41         [_touchDelegate tableView:self touchesEnded:touches withEvent:event];
42     }
43 }
44 
45 - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
46     [super touchesMoved:touches withEvent:event];
47     
48     if ([_touchDelegate conformsToProtocol:@protocol(TouchTableViewDelegate)] &&
49         [_touchDelegate respondsToSelector:@selector(tableView:touchesMoved:withEvent:)])
50     {
51         [_touchDelegate tableView:self touchesMoved:touches withEvent:event];
52     }
53 }
54 
55 @end
56  


调用方法 :
1. 头文件中加入delegate

@interface MoneyViewCtl : UIViewController<UITableViewDataSourceUITableViewDelegateSDWebDataDownloaderDelegateEGORefreshTableHeaderDelegateTouchTableViewDelegate>{

    

    IBOutlet UISegmentedControl *_sigTime;

    IBOutlet TouchTableView *_tableview;


}

@end



2. .m文件中设置好delegate

_tableview.touchDelegate = self;



3. .m文件中实现如下事件


#pragma mark - TouchTableViewDelegate lifecycle

- (void)tableView:(UITableView *)tableView touchesBegin:(NSSet *)touches withEvent:(UIEvent *)event{

    NSLog(@"touchesBegin");

}

- (void)tableView:(UITableView *)tableView touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event{

    NSLog(@"touchesCancelled");

}


- (void)tableView:(UITableView *)tableView touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{

    NSLog(@"touchesEnded");

}

- (void)tableView:(UITableView *)tableView touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{

    NSLog(@"touchesMoved");

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值