开发者社区 问答 正文

关于增加tableViewcell的点击范围

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

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

图片是28*28

展开
收起
爵霸 2016-03-19 09:24:11 2247 分享 版权
1 条回答
写回答
取消 提交回答
  • 在自定义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
    2019-07-17 19:07:13
    赞同 展开评论
问答地址: