我有一个带有 UITextField 的 UIAlertView。我已连接 UIAlertView 委托,并alertViewShouldEnableFirstOtherButton:
根据 UITextField 中的文本返回 YES 或 NO。
我需要以编程方式更改 textField 的文本。这按预期工作。
不幸的是,我不知道如何让 UIAlertView 调用alertViewShouldEnableFirstOtherButton:
委托方法,以便在我更改 textField 的文本后启用或禁用另一个按钮。
我认为 UIAlertView 注册为 UITextField 的目标,所以我尝试UIControlEventValueChanged
从 textField 发送一个。没用。
从堆栈跟踪中我发现委托方法是从私有 UIAlertView 方法调用的_alertSheetTextFieldDidChange:
。
因此,如果我[self.currentAlert performSelector:@selector(_alertSheetTextFieldDidChange:) withObject:textField];
在更改文本后执行此操作,则会调用委托方法并且按钮的启用状态会更改。但是,由于这是一个私有方法,应用程序可能会被拒绝。我不想冒险。
有没有一种干净的方法来进行警报视图调用alertViewShouldEnableFirstOtherButton:
?