2 yue1liang1chuan yue1liang1chuan 于 2013.07.08 10:29 提问

增加tableViewcell的点击范围

有一个带自定义图片的tableView cell。有时点击图片(是一个复选框),就会点击到cell上面。我想要点击到图片周围的cell部分时,还是按照点击图片处理,而不影响cell。应该怎么修改?谢谢

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
cell.imageView.image = [UIImage imageNamed:@"unchecked.png"];

图片是28*28

1个回答

zhanglei5415
zhanglei5415   Rxr 2013.07.08 11:04
已采纳

在自定义cell的内部实现touchsBegan, touchsEnd. 在这两个触摸事件中得到当前touch的点(CGPoint).你可以自定义一个图片响应区域(CGRect)。判断当前触摸的点是否在这个区域内,如果在,则响应图片点击动作。

@interface CustomCell:UITableViewCell 
.....
-(void)touchsBegan:(NSSet *)touches withEvent:(UIEvent *)event {

     UITouch *touch =[touches anyObject];
     CGPoint point=[touch locationInView:self];
     if (CGRectContainsPoint(yourlimitrect, point)) {
           ////说明在你设定的响应区域内
     }
}

@end

yue1liang1chuan
yue1liang1chuan 非常感谢~
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!