2012-07-07 49 views
0

视图获取触摸我想有使用的顶视图(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不trigge触摸方法红色

回答

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在那里。