我在表单上有一个UIButton,并希望在表单不完整时将其置于禁用状态.但是,我仍然希望能够检测用户是否尝试按下按钮即使处于禁用状态,以便界面可以让用户知道表单上的某些必填字段尚
似乎没有任何直接的方法来做到这一点.我尝试简单地将UITapGestureRecognizer附加到UIButton,但是当按钮处于禁用状态时它不会响应.
如果可能的话,我想避免继承UIButton,除非这是唯一的方法.
创建一个后备按钮.把它放在主按钮后面.将其背景和文本颜色设置为[UIColor clearColor]以确保它不会显示. (您不能将其alpha设置为0,因为这会使其忽略触摸.)在Interface Builder中,后备按钮应位于子视图列表中的主按钮上方,如下所示:给它与主按钮相同的框架.如果您正在使用自动布局,请同时选择主按钮和后备按钮并创建约束以保持所有四条边相等.
当主按钮被禁用时,触摸将传递到后退按钮.启用主按钮后,它将捕获所有触摸,后退按钮将不会接收任何触摸.
将后备按钮连接到某个操作,以便您可以检测它何时被轻击.