UIButton干扰UITableView

时间:2015-07-25 21:20:41

标签: ios objective-c iphone uitableview uibutton

我正在使用MKButton找到here的自定义子类(它是UIButton的子类)。

我的UITableView的X号为UITableViewCell秒。每个单元格在tableView中都有一个或多个MKButton。这些单元格的目的是在单击任何网页时打开指向网页的链接。

每当我滚动浏览UITableView时,我都会不小心点击其中一个MKButtons。我无法弄清楚如何防止这种情况。

如果有任何不同,我希望能够支持iOS 7和iOS 8。

我环顾四周,找不到多少。这是我到目前为止所尝试的:

  • delaysContentTouches设置为YES。
  • canCancelContentTouches设为YES。
  • 子类UITableView并覆盖- (BOOL)touchesShouldCancelInContentView:(UIView *)view以返回YES;

1 个答案:

答案 0 :(得分:0)

只需识别表格是否移动,并禁止点击按钮。

-(BOOL)isTableViewMoving
{
    return _tableView.isDragging || _tableView.isDecelerating;
}

-(void)didTapButton
{
if ( !isTableViewMoving)
  //dostuff
}

编辑:

找到更好的解决方案:只需使用UITapGestureRecognizer。出于某种原因,它比touchUpInside更好。