我希望有一个顶视图(UIView的子类),它使用
捕获触摸- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
...
·H
@interface XView : UIView<UITableViewDataSource, UITableViewDelegate>
@property (nonatomic, strong) UITableView * tableView;
@end
这个工作正常,如果视图为空,但只要我插入(addSubview)就让我们说一个UITableView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
self.tableView = [[UITableView alloc] initWithFrame:self.frame];
self.tableView.delegate = self;
self.tableView.dataSource = self;
[self addSubview:self.tableView];
}
return self;
}
不会触发XView内部的触摸方法
答案 0 :(得分:0)
您需要子类化UITableView或使用UITapGestureRecognizer来解决此问题。我个人会选择UITapGestureRecognizer。
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapCode:)];
[self.tableView addGestureRecognizer:tap];
然后你可以在这里处理你的点击:
- (void)tapCode:(UITapGestureRecognizer *)recognizer
{
// code goes here
}
如果你是UITableView的子类,你可以将touchesBegan:withEvent放在那里。