NSCollectionViewItem за NSTextField - PullRequest
       18

NSCollectionViewItem за NSTextField

0 голосов
/ 24 февраля 2012

У меня есть NSTextField в представлении NSCollectionViewItem.

Когда вы нажимаете NSCollectionViewItem, элемент выбирается.

Когда вы нажимаете NSTextField, онполучает фокус, но NSCollectionViewItem, который находится за текстовым полем, не выделяется.

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

Какой лучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 24 февраля 2012

Полагаю, вам нужно будет создать подкласс NSTextField и переопределить mouseDown, чтобы передать событие в nextResponder (который должен быть установлен в представление вашей коллекции)

0 голосов
/ 20 марта 2013

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

Ключ в том, чтобы текстовое поле начиналось как НЕ выбираемое.Щелчок мышью по текстовому полю будет игнорироваться текстовым полем и выберет элемент представления коллекции.Затем в методе setSelection элемента коллекции, когда он выбирается, установите текстовое поле как редактируемое.Следующий щелчок мышью по текстовому полю придаст ему фокус.Затем, когда элемент представления коллекции не выбран, установите для текстового поля значение «невозможно выбрать» и подождите, пока элемент представления коллекции будет снова выбран.необходимо для полного решения.

...