NSLayoutManagerDelegate
NSLayoutManagerDelegate
протокол определяет дополнительные методы, реализованные делегатами NSLayoutManager
объекты.
Наследование
Не применимый
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.6 и позже.
-
Сообщает делегату, что данный менеджер по расположению лишил законной силы информацию макета (не информация о глифе).
Объявление
Swift
optional func layoutManagerDidInvalidateLayout(_
sender
: NSLayoutManager)Objective C
- (void)layoutManagerDidInvalidateLayout:(NSLayoutManager *)
sender
Параметры
sender
Менеджер по расположению, лишивший законной силы расположение.
Обсуждение
Этот метод вызывается только, когда расположение было завершено и затем стало лишенным законной силы по некоторым причинам. Делегаты могут использовать эту информацию, чтобы показать индикатор фонового расположения или включить кнопку, вызывающую непосредственное расположение текста.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
-
layoutManager (_: didCompleteLayoutForTextContainer:atEnd:) - layoutManager:didCompleteLayoutForTextContainer:atEnd:
Сообщает делегату, что данный менеджер по расположению закончил излагать текст в данном текстовом контейнере.
Объявление
Swift
optional func layoutManager(_
aLayoutManager
: NSLayoutManager, didCompleteLayoutForTextContaineraTextContainer
: NSTextContainer?, atEndflag
: Bool)Objective C
- (void)layoutManager:(NSLayoutManager *)
aLayoutManager
didCompleteLayoutForTextContainer:(NSTextContainer *)aTextContainer
atEnd:(BOOL)flag
Параметры
aLayoutManager
Менеджер по расположению, делающий расположение.
aTextContainer
Текстовый контейнер, в котором расположение завершено. Если
nil
, если нет достаточного количества контейнеров для содержания всего текста; делегат может использовать эту информацию в качестве сигнала для добавления другого текстового контейнера.flag
Если
YES
true
,aLayoutManager
закончен, изложив его текст — это также означает этоaTextContainer
контейнер окончательного текста, используемый менеджером по расположению. Делегаты могут использовать эту информацию, чтобы показать индикатор или фон или включить или отключить кнопку, вызывающую непосредственное расположение текста.Обсуждение
Это сообщение отправляется каждый раз, когда текстовый контейнер был заполнен. Этот метод может быть полезен для разбиения на страницы.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
-
layoutManager (_: shouldUseTemporaryAttributes:forDrawingToScreen:atCharacterIndex:effectiveRange:) - layoutManager:shouldUseTemporaryAttributes:forDrawingToScreen:atCharacterIndex:effectiveRange:
Отправленный, когда менеджер по расположению рисует и должен решить, использовать ли временные атрибуты.
Объявление
Swift
optional func layoutManager(_
layoutManager
: NSLayoutManager, shouldUseTemporaryAttributesattrs
: [NSObject : AnyObject], forDrawingToScreentoScreen
: Bool, atCharacterIndexcharIndex
: Int, effectiveRangeeffectiveCharRange
: NSRangePointer) -> [NSObject : AnyObject]?Objective C
- (NSDictionary *)layoutManager:(NSLayoutManager *)
layoutManager
shouldUseTemporaryAttributes:(NSDictionary *)attrs
forDrawingToScreen:(BOOL)toScreen
atCharacterIndex:(NSUInteger)charIndex
effectiveRange:(NSRangePointer)effectiveCharRange
Параметры
layoutManager
Менеджер по расположению, отправляющий сообщение.
attrs
Временные атрибуты в настоящее время в действительности для данного диапазона символов.
toScreen
YES
true
если менеджер по расположению рисует на экран; иначе,NO
false
.charIndex
Индекс первого символа в нарисованном диапазоне.
effectiveCharRange
На вводе и выводе, диапазоне измерений, к которому применяются временные атрибуты.
Возвращаемое значение
Временные атрибуты для менеджера по расположению для использования, или
nil
если не должны использоваться никакие временные атрибуты.Обсуждение
Поведение по умолчанию, если этот метод не реализован, состоит в том, чтобы использовать временные атрибуты только при рисовании на экран, таким образом, реализация для соответствия того поведения возвратилась бы
attrs
еслиtoScreen
YES
true
иnil
иначе, без измененияeffectiveCharRange
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
Доступный как часть неофициального протокола до OS X v10.6.