我有一個帶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