2011-03-01 27 views
1

嘿,我有一個奇怪的問題。我想知道是否有人能幫助我理解它。我有一個文本框和一個日期選擇器,只需按一下按鈕,它就可以彈出文本框。當日期選擇器出現時,我將其下的文本字段設置爲不可編輯或可選,當日期選擇器消失時,我再次選擇它。我遇到的問題是,即使我打電話給setSelectable:NO,當我將鼠標放在它上面時(儘管我實際上不能選擇任何內容),該文本字段仍然顯示選擇光標。奇怪的NSTextField setSelectable問題

這裏的起腳,雖然,如果我扔了斷點到按鈕的代碼,並等待一秒鐘左右,然後有一次我打不斷,文本字段是正確的不可選擇的,因爲我所期望的展示正確的遊標。

這是我的按鈕代碼。有人有主意嗎?

- (IBAction) clicked:(id)sender 
{ 
    if([datePickerView isHidden] == NO) 
    { 
     [summaryTextArea setEnabled:YES]; 
     [summaryTextArea setEditable:YES]; 
     [summaryTextArea setSelectable:YES]; 
     [datePickerView setHidden:YES]; 
    } 
    else 
    { 
     [summaryTextArea setEnabled:NO]; 
     [summaryTextArea setEditable:NO]; 
     [summaryTextArea setSelectable:NO]; 
     [datePickerView setHidden:NO]; 
    } 
} 

如果有人想看到更多的代碼片段,請讓我知道,我也許可以一起小型示範項目。謝謝!

編輯:

下面是一個簡單的測試程序,我颳起。希望它有幫助。 http://dl.dropbox.com/u/917639/ExampleSelectable.zip

回答

0

我修好了......有點。它至少工作,但似乎有點破解。我只是在我的點擊處理器中配對以下電話:

[summaryTextArea addCursorRect:summaryTextArea.bounds cursor:[NSCursor IBeamCursor]]; 
[summaryTextArea removeCursorRect:summaryTextArea.bounds cursor:[NSCursor IBeamCursor]];