О представлениях линейки
NSRulerView находится в NSScrollView, выводя на экран маркированную линейку и маркеры для ее клиента, представления документа NSScrollView или подпредставления представления документа. Клиентское представление может добавить и удалить маркеры, представляющие его содержание, такое как графические элементы, поля и текстовые вкладки. NSRulerView отслеживает пользовательское манипулирование маркерами и сообщает клиентскому представлению о тех действиях. NSRulerView обрабатывает и горизонтальные и вертикальные линейки, размещающиеся рядом в представлении прокрутки выше и стороне довольного представление, соответственно. NSRulerViews иногда вызывают просто представлениями линейки или даже линейками.
Представление линейки включает три области. Сначала область линейки, где нарисованы базовая линия линейки, знаки «диез» и метки. Область линейки в основном статична, но она масштабирует свои знаки «диез» к системе координат представления документа и может вывести на экран знаки «диез» в произвольных модулях. Вторая область является областью маркера, где маркеры линейки (объекты NSRulerMarker) представление элементов клиентского представления выведены на экран. Область маркера является более динамичной, изменяясь с выбором и состоянием клиентского представления. Заключительная область является вспомогательным область представления, которая является по умолчанию не, представляют, но появляется, когда Вы добавляете вспомогательное представление к представлению линейки. Вспомогательное представление может содержать дополнительные средства управления для управления клиентским представлением линейки, такие как кнопки выравнивания или ряд маркеров, которые могут быть перетащены на линейку.
Представление линейки взаимодействует со своим клиентским представлением несколькими способами. При адаптации представления линейки клиентское представление обычно устанавливает его согласно своим потребностям. Клиентское представление может также динамично обновить маркеры представления линейки как свои изменения макета. В свою очередь представление линейки сообщает клиентскому представлению о действиях, пользователь берет маркеры линейки, позволяя клиентскому представлению утвердить или ограничить действия и обновить его состояние на основе результатов действий.
Появление линейки основывается и на представлении документа и на клиентском представлении. Представление документа, как фон в представлении прокрутки, служит холстом, на котором положены любые клиентские представления. Из-за роли привязки представления документа линейка всегда рисует свои знаки «диез» и метки относительно системы координат представления документа. Вертикальная линейка также проверяет, зеркально отражается ли представление документа и действует соответственно. Когда клиентское представление кроме представления документа перемещается или масштабируется, Однако представление линейки обрабатывает подпредставления представления документа как элементы, размеченные в системе координат, определенной представлением документа, и так не изменяет его знаки «диез». Для клиентского удобства представления это действительно, однако, выражает расположения маркера в клиентской системе координат представления. Несколько других операций, которые выполняют представления линейки, определяются с точки зрения собственной системы координат линейки. Обсуждение функции или метода ясно дает понять, какая система координат применяется. Таблица 1 суммирует системы координат, вовлеченные в использование представлений линейки.