我有一个自定义按钮,从UIControl扩展,处理touchesBegan和touchesEnded,改变背景颜色。通常,此按钮工作正常,但如果它位于屏幕的底部,则touchesBegan中的颜色更改不会呈现或呈现延迟。我调用了setNeedsDisplay,但没有变化。我实现了drawRect函数,也没有调用这个函数。 我注意到默认的UIButton具有相同的行为。将按钮向上移动约25像素,行为再次正常。
我不确定,但我认为这是由控制中心引起的。也许是因为有刷卡识别区域或其他? 有人可以证实这一点,或者我的应用程序中有一个神秘的错误?除了移动我的底部按钮之外还有其他机会吗?