Пользовательские виджеты / элементы управления Cocoa OSX - PullRequest
22 голосов
/ 13 марта 2012

Я хочу знать, как я могу создавать собственные виджеты / элементы управления в Какао.Не полный учебник, но некоторые рекомендации о том, что начать изучать.Меня смущают пользовательские представления, Core Animation и т. Д. Я чувствую себя потерянным.

Я вижу много круто выглядящих элементов управления, например, в Reeder App, Sparrow и т. Д. Например:

Sparrow

Левая сторона представляет собой складное меню, которое включает анимацию и т. Д. Как мне добиться чего-то подобного?Я думал об использовании WebView + HTML + JavaScript, но это не похоже на очень оптимизированное решение.

Ответы [ 2 ]

28 голосов
/ 13 марта 2012

Элементы управления являются представлениями, поэтому, если пользовательские представления сбивают вас с толку, вам необходимо выяснить это, прежде чем переходить к пользовательским элементам управления.Хотя вы действительно должны прочитать Руководство по программированию представления , раздел под названием Создание настраиваемого представления поможет вам начать создание собственногоПросмотры.Попробуйте создать простое представление, которое рисует, например, круг или время.

Когда вы выясните виды, перейдите к пользовательским элементам управления.Большинство элементов управления работают примерно одинаково.Пользователь касается их, и элемент управления отвечает: а) отслеживанием ввода пользователя, б) изменением его значения, в) отправкой сообщения о действиях своей цели и г) предоставлением пользователю некоторой обратной связи путем перерисовки себя.Для начала убедитесь, что вы знаете, как использовать элементы управления.Чтение Темы управления и программирования ячейки должно помочь, а раздел под названием Подклассы NSControl охватывает (очевидно) создание ваших собственных подклассов.

Примервы предоставили довольно ясно, Apple's Mail.app.Представление в левой части окна может быть экземпляром NSOutlineView или пользовательским классом.В любом случае, NSOutlineView будет хорошей отправной точкой, если вы хотите дублировать эту функциональность.NSOutlineView является подклассом NSTableView, который, в свою очередь, является подклассом NSControl, который, в свою очередь, является подклассом NSView.Прочитайте Темы программирования Outline View для получения справки по началу работы - таблицы и схемы чрезвычайно полезны, но и более сложны в использовании, чем базовые элементы управления, такие как кнопки и текстовые поля.

4 голосов
/ 23 февраля 2013

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

Вы можете проверить это на Github:https://github.com/iluuu1994/ITSidebar

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