Странная проблема NSTextField setSelectable

Эй, у меня странная проблема. Мне интересно, может ли кто-нибудь помочь мне понять это. У меня есть текстовое поле и средство выбора даты, которое можно вывести поверх текстового поля одним нажатием кнопки. Когда появляется средство выбора даты, я делаю текстовое поле под ним недоступным для редактирования или доступным для выбора, а когда средство выбора даты исчезает, я снова делаю его доступным для выбора. Проблема, с которой я сталкиваюсь, заключается в том, что, хотя я вызываю setSelectable:NO, текстовое поле по-прежнему показывает курсор выбора, когда я навожу на него курсор (хотя на самом деле я ничего не могу выбрать в нем).

Тем не менее, если я вставлю точку останова в код кнопки и подожду секунду или около того, то, как только я нажму "Продолжить", текстовое поле станет недоступно для выбора, поскольку я ожидает отображения правильного курсора.

Вот мой код кнопки. У кого-нибудь есть идеи?

- (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


person Morgan    schedule 01.03.2011    source источник


Ответы (1)


Я исправил это... вроде. По крайней мере, это работает, хотя это похоже на взлом. Я просто соединил следующие вызовы в своем обработчике кликов

[summaryTextArea addCursorRect:summaryTextArea.bounds cursor:[NSCursor IBeamCursor]]; 
[summaryTextArea removeCursorRect:summaryTextArea.bounds cursor:[NSCursor IBeamCursor]];
person Morgan    schedule 01.03.2011