2011-03-01 28 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]];