2011-08-19 49 views
3

我想檢查一個文本框的值是否有效,如果沒有,彈出一個警告框。這裏是我的代碼:如何在警告框顯示時使鍵盤保持停留狀態?

- (IBAction) done: (id) sender{ 
    if (!test) { 
     UIAlertView *alert = [[UIAlertView alloc]init....]; 
     [alert show]; 
     [alert release]; 
     [textfield becomeFirstResponder]; 
    } 
    else{ 
     [sender resignFirstResponder]; 
     //doing stuff; 
    } 
} 

目前的警告框工作正常,但是當我關閉該警告框,焦點不會回去,我指定的文本字段。任何想法,我做錯了?

回答

4

您可以實現UIAlertView中的-alertView:didDismissWithButtonIndex:委託方法,被稱爲每當警報視圖被駁回:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { 
    [textField becomeFirstResponder]; 
} 
+1

沒錯。如果您有多個文本字段,則可以使用UITextFieldDelegate來記錄哪一個當前「持球」,並且應該設置爲firstResponder。 –

+0

謝謝,但我怎樣才能引用這種方法?當我初始化警報對象時,我設置了委託=自我,我需要做一些改變嗎?或者只是把這個方法放在同一個文件中,每次點擊取消按鈕它都會被調用? – Michael

+0

是的,'alertView.delegate = self'就足以做到這一點。然後,您將此方法插入到同一個文件中。 – akashivskyy

相關問題