Я хотел бы реализовать NSSegmentedControl, подобный тем, которые находятся на панели инструментов XCode 4 (представление или редактор). Мне не удается настроить изображение в нем, и я не могу настроить рамку с помощью Interface Builder. Какой стратегии лучше всего следовать?
NSSegmentedControl на панели инструментов, например Xcode 4
Ответы (1)
Для меня ячейки сегментированных элементов управления Xcode выглядят как стандартные сегменты AppKit.
Чтобы добиться такого вида, выберите Capsule для параметра Style и Select Any em> для Mode (чтобы получить множественный выбор).
Эффект тиснения для изображений автоматически применяется ко всем черным изображениям, имя которых заканчивается на «Шаблон». На приложенном снимке экрана я использовал несколько стандартных изображений шаблонов (например, NSFlowViewTemplate
) из Interface Builder.
Обновление
Относительно размера кадра: NSSegmentedControls имеет фиксированную высоту (3 настройки размера элемента управления: обычный, маленький и мини) и переменную ширину (для каждого сегмента).
person
Thomas Zoechling
schedule
11.06.2013
Спасибо за точность. Я уже настроил эти настройки. Проблема в том, что мне не удается отрегулировать высоту с помощью Interface Builder. Знаете ли вы, как я могу настроить высоту всего сегмента управления?
- person yageek; 11.06.2013
Высота фиксирована - вы можете влиять на нее только с помощью настройки размера элементов управления. Обновил мой ответ.
- person Thomas Zoechling; 11.06.2013
Спасибо за точность :) Может быть, еще два вопроса:
- person yageek; 11.06.2013
Во-первых: доступно ли изображение из сегментированного элемента управления Xcode? Второе: я не нашел в документации информацию об эффекте тиснения, который применяется автоматически к черным изображениям, имя которых заканчивается на Template. Не могли бы вы дать мне несколько ссылок?
- person yageek; 11.06.2013
Нет. Изображения Xcode кажутся пользовательскими. Документы с информацией о шаблоне можно найти в справочнике по классу NSImage: developer.apple.com/library/mac/documentation/Cocoa/Reference/
- person Thomas Zoechling; 11.06.2013