Я хотел бы создать таблицу с изображениями и списком в ячейках
Уже существует NSImageCell и NSComboBoxCell.Вы уверены, что вам нужно сделать что-то другое?
Если проблема в том, что вам нужно изображение и поле со списком в той же самой ячейке , вам придется создать подкласс NSCell.В настоящее время табличные представления могут содержать только ячейки, а не представления, что усложняет вашу жизнь (поскольку понимание того, как работает рисование ячейки, является более сложным).Однако в Lion все изменится, поэтому, если вы подождете до тех пор, это станет проще!
Я хотел бы создать собственный виджет, который представляет собой комбинацию из нескольких (например, список, кнопка и поле со списком)
Чем ваш пользовательский виджет отличается от простого размещения этих трех объектов в одном виде?
Вы можете написать свой собственный подкласс NSView.Когда он создан, он должен создать список, кнопку и комбинированный список и добавить их в качестве подпредставлений к себе.Ваш подкласс NSView должен обрабатывать логику их синхронизации или делать то, что вы от них хотите.Затем, чтобы использовать этот комбинированный элемент управления в Интерфейсном Разработчике, вы размещаете Custom View и устанавливаете его класс (крайняя правая вкладка инспектора) в свой подкласс NSView.?Множество людей из Windows понимают это неправильно.Поле со списком представляет собой комбинацию меню и текстового поля: оно позволяет пользователю вводить пользовательский текст, которого нет в меню.Если вам просто нужно раскрывающееся меню выбора (а пользователь не может ввести пользовательское), используйте NSPopupButton.
Во-вторых, типичный разработчик какао использует внешние элементы управления?
Да, иногда.Такие вещи, как BWToolkit могут быть очень полезны.Есть намного больше, которые просто плавают вокруг списков рассылки как фрагментов кода, а не очищаются и помещаются в библиотеку.Ищите, что вам нужно сделать!