Как мне сделать Apple Finder -> Информация о файле -> добавить функцию тега в приложение MacOSX?

в моем приложении MacOSX мне нужно создать что-то похожее на собственное добавление тега Apple к функции файла на экране информации о файле. Прямо сейчас я создал NSTextField, где пользователь может ввести текст, который вызывает:

func controlTextDidChange(aNotification: NSNotification) 

в этом методе я показываю NSTableView непосредственно под NSTextField. У меня есть массив, содержащий содержимое, загруженное в табличное представление. Я не использую NSSearchField, так как мне не нужен значок увеличения в поле. Дизайн также требует, чтобы выбранные теги становились маленькими кнопками, как в дизайне Apple, либо в том же текстовом поле, либо непосредственно под ним. Есть ли что-то уже встроенное в структуру, чтобы сделать это легко или что-то стороннее? У меня были проблемы с поиском без большинства результатов, пытающихся научить меня, как создавать теги для файла.

У меня есть строка для выбранного элемента в табличном представлении, а затем она становится заголовком для кнопки в пространстве под текстовым полем.

Вторая часть этого дизайна — удаление кнопок тегов. Прямо сейчас я устанавливаю статус выделения в true, когда выбрана кнопка, а затем обнаруживаю клавишу удаления с помощью:

override func keyUp(theEvent: NSEvent) {
if theEvent.keyCode == 51 {
  if appDelegate.uploaderController.tagButton.highlighted == true {
    appDelegate.uploaderController.tagButton.hidden = true
  } 
}

если tagButton выделен при нажатии клавиши удаления, кнопка скрыта (может переключиться на удаление).

Опять же, если у кого-то есть лучшие идеи по дизайну, он знает что-то встроенное или даже уже сделанное, пожалуйста, дайте мне знать! Спасибо!

Теги файла


person jpgr    schedule 06.04.2016    source источник


Ответы (1)


Лучшей отправной точкой, вероятно, является NSTokenField. Это даст вам автозаполнение (используя небольшое раскрывающееся меню под полем). Проверьте tokenField:completionsForSubstring:indexOfToken:indexOfSelectedItem: NSTokenFieldDelegate. Он также превращает теги в маленькие овальные объекты, которые можно перетаскивать, удалять и т. д.

справочник по NSTokenField

person zpasternack    schedule 09.04.2016
comment
Большое тебе спасибо! Это именно тот тип лида, на который я надеялся! - person myData; 10.04.2016