问题描述
- 增加tableViewcell的点击范围
-
有一个带自定义图片的tableView cell。有时点击图片(是一个复选框),就会点击到cell上面。我想要点击到图片周围的cell部分时,还是按照点击图片处理,而不影响cell。应该怎么修改?谢谢-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ cell.imageView.image = [UIImage imageNamed:@"unchecked.png"];
图片是28*28
解决方案
在自定义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
时间: 2024-10-30 21:43:48