Странная проблема NSTextField setSelectable - PullRequest
1 голос
/ 01 марта 2011

Эй, у меня странная проблема.Мне интересно, может ли кто-нибудь помочь мне разобраться в этом.У меня есть текстовое поле и средство выбора даты, которое можно открыть поверх текстового поля одним нажатием кнопки.Когда появляется средство выбора даты, я делаю текстовое поле под ним недоступным для редактирования или выбора, а когда средство выбора даты исчезает, я делаю его снова доступным для выбора.У меня проблема в том, что, хотя я вызываю 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

1 Ответ

0 голосов
/ 01 марта 2011

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

[summaryTextArea addCursorRect:summaryTextArea.bounds cursor:[NSCursor IBeamCursor]]; 
[summaryTextArea removeCursorRect:summaryTextArea.bounds cursor:[NSCursor IBeamCursor]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...