我正在使用UIStepper更改显示在UITextField中的值,并且可以选择在UITextField中输入该值。

一切正常,但是有不希望有的行为:只能按对象本身的上半部分编辑UITextField,因为下半部分的触摸被UIStepper吞没了。

我正在寻找答案,但没有找到答案。我有一些提示。
UIStepper具有2个按钮和1个ImageView,并且在整个ImageView中检测到触摸(不可见或不可编辑)。

有任何想法吗?

最佳答案

要解决此问题,很可能需要子类化。您可以重写pointInside:withEvent:子类中的 UIStepper 并返回NO,除非严格在步进器的范围内:

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
    return CGRectContainsPoint(self.bounds, point);
}

10-08 07:48