2010-05-31 73 views
0

我想做一個簡單的任務:如何從點擊按鈕的文本字段中刪除光標?

我有一個可編輯的文本字段,兩個按鈕(標題:使編輯/使不可編輯)在一個窗口。想法是:當用戶點擊「編輯可編輯」按鈕時,文本字段應該可編輯,當他/她點擊「編輯不可編輯」時,它應該變成不可編輯的。

在行動「使不可編輯」我這樣做:

[myTextField setSelectable:NO]; 
[myTextField setEditable:NO]; 

,並在行動「爲可編輯」我這樣做:

[myTextField setSelectable:YES]; 
[myTextField setEditable:YES]; 

問題是:

當myTextField沒有光標或者它有光標,但用戶沒有輸入任何內容並點擊 - 「make un-editable」,那麼myTextField變得不可編輯,但是當它有光標和用戶時在輸入內容後點擊「make un-editable」,他/她仍然可以編輯myTextField。

對於其溶液我試圖從myTextField將除去光標一旦用戶點擊「使不可編輯」按鈕,通過添加之前可選擇的和可編輯的語句這些行:

  1. [someOtherTextField selectText:self];

  2. [[NSRunLoop currentRunLoop] performSelector:@selector(selectText:) someOtherTextField argument:self order:9999 modes:[NSArray arrayWithObject:NSDefaultRunLoopMode]];

  3. [someOtherTextField becomeFirstResponder];

但是沒有一個適合我:(

任何人都可以提出一些解決方案嗎?

+0

someOtherTextField是隱藏在這種情況下! – Devarshi 2010-05-31 07:04:54

回答

4

becomeFirstResponder文檔說

使用NSWindow makeFirstResponder:方法,沒有這種方法,使對象的第一個響應者。永遠不要直接調用這個方法。

我不知道,如果一個隱藏的文本字段可以成爲第一個響應者,所以嘗試:

[[myTextField window] makeFirstResponder: nil]

+0

Thanx ..它的工作:) – Devarshi 2010-05-31 07:30:18

+1

那麼,爲什麼你沒有接受我的答案? – JWWalker 2010-05-31 17:15:33

+0

我現在已經完成了......歡呼聲 – Devarshi 2010-06-09 08:55:57