2011-09-15 60 views
2

我想讓用戶點擊字段開始編輯時,使UITextField中的文本選中。他們的想法是,通常情況下,他們會首先刪除整個字段,這樣可以節省必須雙擊並全部選中的步驟。iOS:UITextField selectAll +編輯Did not begin

.H

- (IBAction)urlEditingDidBegin: (id)sender; 

.M

- (IBAction)urlEditingDidBegin:(id)sender 
{ 
    NSLog(@"Select Contents"); 

    [sender setText:@"Why isn't this working"]; 
    [sender selectAll:self]; 
} 

在Interface Builder我有線我的UITextField的 「編輯確實開始」 事件到文件的所有者,並將其連接到我的urlEditingDidBegin方法。

當我點擊UITextField時,該字段中的文本變爲「爲什麼不能正常工作」,這證明該方法正在觸發並且發送者正確,但是文本未選中。

我在做什麼錯?

回答

3

一般來說,如果你想給用戶一個簡單的方法來清除文本通過設置添加一個明確 Clear按鈕「出現在編輯」在廈門國際銀行或致電

[textField setClearButtonMode:UITextFieldViewModeWhileEditing];

選擇文本編程方式聽起來很誘人,但是我想你會碰到更多的問題,因爲它例如傾向於打開編輯菜單。

+0

你說得對,這是我最終想做的事,雖然我仍然不明白爲什麼selectAll沒有選擇文本。 –

1

實際上文本被選中,但沒有任何視覺反饋。 例如看this answer

0

組代表自我,並在您的.h文件傳遞<UITextFieldDelegate>