我有一个带UITextField的UIAlertView。我连接了UIAlertView代理,根据UITextField中的文本,我在alertViewShouldEnableFirstOtherButton:
中返回YES或NO。如何在进行更改后调用UIAlertView调用`alertViewShouldEnableFirstOtherButton:`?
我需要以编程方式更改textField的文本。这按预期工作。
不幸的是,我不知道如何使UIAlertView调用alertViewShouldEnableFirstOtherButton:
委托方法,以便在更改textField的文本后启用或禁用其他按钮。
我以为UIAlertView注册为UITextField的目标,所以我尝试从textField发送UIControlEventValueChanged
。没有工作。
从堆栈跟踪我想通了委托方法是从私人UIAlertView中方法_alertSheetTextFieldDidChange:
调用。
因此,如果我在更改文本后执行[self.currentAlert performSelector:@selector(_alertSheetTextFieldDidChange:) withObject:textField];
,则会调用委托方法,并且该按钮的启用状态会更改。但是,由于这是一种私人方法,因此该应用可能会被拒绝。我不想冒这个风险。
是否有一个干净的方法来使警报视图调用alertViewShouldEnableFirstOtherButton:
?
我只是碰到了这个问题为好,这个答案的作品,似乎是这样做的正确方法 – Alex 2015-08-10 15:05:04