2012-07-04 58 views
1

我有一個3個按鈕的Popover。在哪裏處理UIAlert與UIText輸入調用的UIAlert代碼

其中一個按鈕鏈接到IBAction方法,該方法使用setAlertViewStyle:UIAletViewStylePlainTextInput顯示UIAlert對話框以獲取用戶輸入。

根據用戶的輸入,我想顯示另一個UIAlert,顯示基於某些字典查找的正確或錯誤。

我的挑戰是在哪裏放第二個UIAlert代碼。我試過把它放到alertView:willDismissWithButtonIndex;我也試過在alertView:clickedButtonAtIndex。在這兩種情況下,儘管顯示了第二條警報,但單擊確定按鈕後,同樣的警報再次顯示...無限。

尋找有關如何避免此循環的建議;哪裏最好放這個代碼?

謝謝 Tony。

回答

0

如果您使用的是Popovers,我假設您正在iPad上開發?我建議你使用UIActionSheet作爲你的初始彈出窗口,而不是用3個按鈕手動定義彈出窗口(除非你有這樣的圖形需求)。

使用UIActionSheet,您可以在UIActionSheet委託中指定何時顯示正確警報視圖的邏輯。 iPad上的UIActionSheets默認顯示在Popovers中,這樣也可以減少一些視圖代碼,並使iOS體驗更加標準化。

如果你絕對必須有多個彈出窗口(這是iOS設計中的一般禁止窗口),Anthony上面提到的使用標籤屬性是正確的,然後關閉數字標籤。

+0

馬特 - 謝謝你和安東尼的建議。我已經用UIActionSheet替換了Popover,隨着UIAlertViews和後續的用戶交互一起提出。經過一些失誤後,現在運行良好。 – Tony

0

alertView:clickedButtonAtIndex:將是正確的使用方法。您是否在某種程度上區分了alertViews,例如tag屬性?您可能正在運行代碼buttonIndex但錯誤的alertView