UIControl 子类延迟响应

Posted

技术标签:

【中文标题】UIControl 子类延迟响应【英文标题】:UIControl subclass delayed response 【发布时间】:2013-01-15 16:38:56 【问题描述】:

我有一个名为 CheckboxView 的 UIControl 自定义子类,当用户点击矩形时,它只是在矩形内绘制一个复选标记。这是作为一个单元格添加到 tableView 中的,它位于主容器 AttributeFormView 中。

正如预期的那样,当用户点击矩形时,会触发 -endTrackingWithTouch 并正确绘制复选标记。

但是,如果我向 AttributeFormView 添加一个包含带有 checkboxView 单元格的 tableView 的子视图,则对 checkBoxView 中的 UITouch 的响应会显着延迟。 tableView 中的所有其他单元格都做出了适当的响应,但为了让复选标记出现,用户必须点击并按住矩形约 3 秒。

我说:

CGPoint testpoint = [touch locationInView:self];

inside -endTrackingWithTouch 以确保正确的视图被触摸,确实如此,但是这 3 秒的延迟是个问题。

关于为什么会有如此显着的延迟有什么想法吗?

谢谢

【问题讨论】:

【参考方案1】:

我刚刚遇到了同样的问题。就我而言,这是因为我在主视图控制器视图上有一个手势识别器。一旦我将手势识别器移到它自己的视图中,问题就解决了!

希望有帮助

【讨论】:

我也遇到了这个问题,这解决了!谢谢本森。

以上是关于UIControl 子类延迟响应的主要内容,如果未能解决你的问题,请参考以下文章

CAShapeLayers 未在自定义子类 (UIControl) 中绘制

突出显示 UIControl 子类

sendActionsForControlEvents中的UIControl子类问题

如何在屏幕上显示 UIControl 的子类

如何正确子类UIControl?

子类化 UIImageView 并添加 UIControl