yue1liang1chuan
2013-07-08 02:29
采纳率: 69.8%
浏览 3.0k
已采纳

增加tableViewcell的点击范围

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

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

图片是28*28

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • ReyZhang 2013-07-08 03: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

    点赞 打赏 评论

相关推荐 更多相似问题