Как я могу сделать что-то подобное?
Я не нашел подходящего объекта в библиотеке Interface Builder.
Любые мысли?
Как я могу сделать что-то подобное?
Я не нашел подходящего объекта в библиотеке Interface Builder.
Любые мысли?
Лучший способ, которым я нашел, - использовать NSSegmentedControl.
после того, как вы перетащили его на холст, вы должны настроить его стиль:
Style: Small Square
Mode: Select Momentary
выглядит лучше. Теперь используйте поле "изображение", чтобы установить NSAddTemplate и NSRemoveTemplate. Убедитесь, что поле метки пуст.
Хорошо, у нас есть "+", "-" и один пустой сегмент. Чтобы предотвратить выбор последнего из пользователей, выберите его из Сегмент: и снимите флажок Включено (расположенный рядом с Состояние:).
И, наконец, нам нужно установить width первых двух сегментов, чтобы сделать их квадратными.
Наслаждайтесь;)
Используйте NSButton с стилем градиента, а для изображений используйте систему NSAddTemplate и NSRemoveTemplate.
Обновление для OSX Yosemite
Я попытался добиться того же взгляда, что и Mail.app в представлении "Учетные записи" (в правом окне на моем снимке экрана).
Я достиг желаемого результата, выполнив следующие шаги:
NSSegmentedControl
NSAddTemplate
для кнопки +
NSRemoveTemplate
для кнопки -
fixed
и установите значение 32
пикселейNSButton
со стилем Gradient
.true
, так что он не доступен для клика.
Один ответ здесь предполагает использование кнопок градиента, однако эти кнопки нельзя отключить, так как это заставляет фон меняться и, таким образом, нарушает внешний вид. Другой предложил использовать сегментированный элемент управления, который является почти идеальным, но сегментированные элементы управления не поддерживают авторезистентность, например. если ширина таблицы динамическая. Мое предложение - это комбинация обоих. Используйте сегментированный элемент управления для фактических кнопок и кнопку градиента, чтобы заполнить остальную ширину таблицы, которая теперь также может быть динамической, если ширина кнопки также динамическая.
См. мой ответ на аналогичный вопрос (со скриншотами): fooobar.com/info/325105/...