Ищу вертикального двойника NSToolBar - PullRequest
0 голосов
/ 09 января 2011

Я ищу объект типа NSToolBar для использования в моем приложении.Мне нужно, чтобы он был вертикальным и выглядел красиво.Кнопки на объекте не нужно перемещать или настраивать, как это делает NSToolBar, но мне бы хотелось, чтобы у NSToolBar был такой же внешний вид, только по вертикали.

Я пробовал маршрут Google, но яЯ не совсем уверен, что искать, когда дело доходит до поиска объектов или примеров obj-c.

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

Есть ли что-то похожее на то, что я ищу?Есть ли на сайте репозиторий объектов obj-c или их коллекция, которую я просто не нахожу?

Ответы [ 2 ]

0 голосов
/ 09 января 2011

Это не сильно сказалось бы на функциональности, но если вы установите флажок «Текстурированные» (в разделе «Внешний вид») в Интерфейсном Разработчике NSWindow, то все окно будет выглядеть как панель инструментов. Если вы поместите правильно размещенный NSBox (установлен на «Пользовательский» и с цветом заливки фона окна или около того) поверх окна, оставляя только полоску для того, что будет выглядеть как панель инструментов, у вас будет визуальное приближение, хотя без какой-либо функциональности NSToolbar вообще. Все кнопки должны быть выполнены вручную и т. Д. И т. Д.

Однако я должен предупредить вас, что это звучит как серьезное нарушение HIG. Если вы пытаетесь создать что-то твиттерское, я вас не отговариваю, но это своего рода перекресток, пересекать который не нужно, пока Apple не решит, по какому пути пойдет.

0 голосов
/ 09 января 2011

Сама панель инструментов не была бы слишком хитрой, но если бы вы хотели разрешить настройку, это было бы сложно. Поскольку вы не упомянули о настройке (или показе / скрытии), все, что вам действительно нужно, - это вертикальная полоса кнопок и цвет фона, соответствующий цвету окна.

Сделайте ваше окно текстурированным, используя NSTexturedWindowMask, затем создайте подкласс NSView с нужными размерами, рисуя его фон в соответствии с цветом фона окна.

-(void)drawRect:(NSRect)dirtyRect {
  [[[self window] backgroundColor] set];
  NSRectFill(dirtyRect);
}

Кнопки будут просто подпредставлениями этого вида.

Как я уже сказал, настройка и отображение / скрытие делают эту задачу гораздо сложнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...