Cocoa Controls Mac OS X

Элементы управления

Mac OS X

Как правило, большая часть пользовательского интерфейса приложения создается с помощью элементов управления. Как потомок NSView, элемент управления отвечает за отрисовку содержания и обработку инициированных пользователем событий. Элементы управления обычно отображают определенное значение и позволяют пользователю изменять это значение. Индивидуальные элементы управления обеспечивают редактирование значений из контекста, общего пользовательского интерфейса, который помещает эти данные в контекст.

Элементы управления выступают в качестве контейнеров для легких объектов, называемых ячейками. Ячейки, в большинстве случаев, фактически отвечают за визуальное представление и обработку событий, которые обеспечивают элементы управления. Такое делегирование позволяет ячейкам быть повторно использованными в более сложных объектах пользовательского интерфейса. Например, экземпляр класса NSTextFieldCell использует экземпляр NSTextField для отображения текста и может реагировать на изменения, сделанные пользователем. В том же классе NSTextFieldCell также используется экземпляр NSTableView чтобы редактировать данные в столбце. Это делегирование полномочий является одним из ключевых различий между элементами управления и видами.

Элементы управления также поддерживают парадигмы целевых действий. Элементы управления отправляют целевым объектам action сообщения в ответ на действия пользователя. Например, нажатие кнопки приводит к action сообщению посылаемому целевому объекту кнопки, если он установлен, или вверх по цепочке ответчиков, если конкретный целевой объект не указан.

Некоторые подклассы элементов управления на самом деле имеют "View" в их названии, которое может привести к путанице. NSImageView, NSTableView и NSOutlineView классы - все подклассы NSControl, хотя они наследуют косвенно NSView. Это потому, что эти объекты полагаться на ячейки, обеспечивая большую часть своей функциональности, так-что они являются подклассами NSControl а не NSView. Обратите внимание, что классы NSTableView и NSOutlineView не предоставляют их прокрутки напрямую, они установлены в качестве документа вида прокрутки.

 
 
homeЗаметили ошибкукарта сайта 
   Made on a Mac