NSLayoutManagerDelegate
Наследование
Не применимый
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 7.0 и позже.
NSLayoutManagerDelegate протокол определяет дополнительные методы, реализованные делегатами NSLayoutManager объекты.
-
layoutManager (_: shouldBreakLineByHyphenatingBeforeCharacterAtIndex:) - layoutManager:shouldBreakLineByHyphenatingBeforeCharacterAtIndex:Отправленный при определении дефисной точки.
Объявление
Swift
optional func layoutManager(_layoutManager: NSLayoutManager, shouldBreakLineByHyphenatingBeforeCharacterAtIndexcharIndex: Int) -> BoolObjective C
- (BOOL)layoutManager:(NSLayoutManager *)layoutManagershouldBreakLineByHyphenatingBeforeCharacterAtIndex:(NSUInteger)charIndexПараметры
layoutManagerМенеджер по расположению, делающий расположение.
charIndexИндекс символа, разграничивающего поиск дефисной точки.
Возвращаемое значение
YEStrueесли текущая дефисная точка приемлема;NOfalseесли менеджер по расположению должен найти следующую возможность расстановки переносов преждеcharIndex.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
layoutManager (_: shouldBreakLineByWordBeforeCharacterAtIndex:) - layoutManager:shouldBreakLineByWordBeforeCharacterAtIndex:Отправленный при определении контрольной точки мягкой линии.
Объявление
Swift
optional func layoutManager(_layoutManager: NSLayoutManager, shouldBreakLineByWordBeforeCharacterAtIndexcharIndex: Int) -> BoolObjective C
- (BOOL)layoutManager:(NSLayoutManager *)layoutManagershouldBreakLineByWordBeforeCharacterAtIndex:(NSUInteger)charIndexПараметры
layoutManagerМенеджер по расположению, делающий расположение.
charIndexИндекс символа, разграничивающего поиск контрольной точки.
Возвращаемое значение
YEStrueесли текущая точка прерывания строки приемлема;NOfalseесли менеджер по расположению должен найти следующую возможность контрольной точки преждеcharIndex.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
layoutManager (_: lineSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:) - layoutManager:lineSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:Возвращает интервал после строки, заканчивающейся данным индексом глифа.
Объявление
Swift
optional func layoutManager(_layoutManager: NSLayoutManager, lineSpacingAfterGlyphAtIndexglyphIndex: Int, withProposedLineFragmentRectrect: CGRect) -> CGFloatObjective C
- (CGFloat)layoutManager:(NSLayoutManager *)layoutManagerlineSpacingAfterGlyphAtIndex:(NSUInteger)glyphIndexwithProposedLineFragmentRect:(CGRect)rectПараметры
layoutManagerМенеджер по расположению, делающий расположение.
glyphIndexИндекс глифа в конце строки.
rectПредложенный прямоугольник фрагмента строки для текущей строки.
Возвращаемое значение
Межстрочный интервал после текущей строки.
Обсуждение
В то время как каждая строка размечается, чтобы включить менеджеру по расположению делегата для настройки формы строки, это сообщение отправляется.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
layoutManager (_: paragraphSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:) - layoutManager:paragraphSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:Возвращает расстояние между абзацами после строки, заканчивающейся данным индексом глифа.
Объявление
Swift
optional func layoutManager(_layoutManager: NSLayoutManager, paragraphSpacingAfterGlyphAtIndexglyphIndex: Int, withProposedLineFragmentRectrect: CGRect) -> CGFloatObjective C
- (CGFloat)layoutManager:(NSLayoutManager *)layoutManagerparagraphSpacingAfterGlyphAtIndex:(NSUInteger)glyphIndexwithProposedLineFragmentRect:(CGRect)rectПараметры
layoutManagerМенеджер по расположению, делающий расположение.
glyphIndexИндекс глифа в конце строки.
rectПредложенный прямоугольник фрагмента строки для текущей строки.
Возвращаемое значение
parapgraph, располагающий с интервалами после текущей строки.
Обсуждение
В то время как каждая строка размечается, чтобы включить менеджеру по расположению делегата для настройки формы строки, это сообщение отправляется.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
layoutManager (_: paragraphSpacingBeforeGlyphAtIndex:withProposedLineFragmentRect:) - layoutManager:paragraphSpacingBeforeGlyphAtIndex:withProposedLineFragmentRect:Возвращает расстояние между абзацами перед строкой начиная с данного индекса глифа.
Объявление
Swift
optional func layoutManager(_layoutManager: NSLayoutManager, paragraphSpacingBeforeGlyphAtIndexglyphIndex: Int, withProposedLineFragmentRectrect: CGRect) -> CGFloatObjective C
- (CGFloat)layoutManager:(NSLayoutManager *)layoutManagerparagraphSpacingBeforeGlyphAtIndex:(NSUInteger)glyphIndexwithProposedLineFragmentRect:(CGRect)rectПараметры
layoutManagerМенеджер по расположению, делающий расположение.
glyphIndexИндекс глифа в начале строки.
rectПредложенный прямоугольник фрагмента строки для текущей строки.
Возвращаемое значение
parapgraph, располагающий с интервалами перед текущей строкой.
Обсуждение
В то время как каждая строка размечается, чтобы включить менеджеру по расположению делегата для настройки формы строки, это сообщение отправляется.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
layoutManager (_: boundingBoxForControlGlyphAtIndex:forTextContainer:proposedLineFragment:glyphPosition:characterIndex:) - layoutManager:boundingBoxForControlGlyphAtIndex:forTextContainer:proposedLineFragment:glyphPosition:characterIndex:Возвращает ограничительный прямоугольник для указанного глифа управления с указанными параметрами.
Объявление
Swift
optional func layoutManager(_layoutManager: NSLayoutManager, boundingBoxForControlGlyphAtIndexglyphIndex: Int, forTextContainertextContainer: NSTextContainer, proposedLineFragmentproposedRect: CGRect, glyphPositionglyphPosition: CGPoint, characterIndexcharIndex: Int) -> CGRectObjective C
- (CGRect)layoutManager:(NSLayoutManager *)layoutManagerboundingBoxForControlGlyphAtIndex:(NSUInteger)glyphIndexforTextContainer:(NSTextContainer *)textContainerproposedLineFragment:(CGRect)proposedRectglyphPosition:(CGPoint)glyphPositioncharacterIndex:(NSUInteger)charIndexПараметры
layoutManagerМенеджер по расположению, делающий расположение.
glyphIndexИндекс рассматриваемого глифа управления.
textContainerТекстовый контейнер для использования для вычисления позиции.
proposedRectПредложенный прямоугольник фрагмента строки.
glyphPositionПозиция глифа в
textContainer.charIndexИндекс символа в
textContainer.Возвращаемое значение
Ограничительный прямоугольник для указанного глифа управления с указанными параметрами.
Обсуждение
Посланный разрешение метрик глифа для
NSControlCharacterWhitespaceActionуправляющий символ.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
layoutManager (_: didCompleteLayoutForTextContainer:atEnd:) - layoutManager:didCompleteLayoutForTextContainer:atEnd:Сообщает делегату, что данный менеджер по расположению закончил излагать текст в данном текстовом контейнере.
Объявление
Swift
optional func layoutManager(_layoutManager: NSLayoutManager, didCompleteLayoutForTextContainertextContainer: NSTextContainer?, atEndlayoutFinishedFlag: Bool)Objective C
- (void)layoutManager:(NSLayoutManager *)layoutManagerdidCompleteLayoutForTextContainer:(NSTextContainer *)textContaineratEnd:(BOOL)layoutFinishedFlagПараметры
layoutManagerМенеджер по расположению, делающий расположение.
textContainerТекстовый контейнер, в котором расположение завершено. Если
nil, если нет достаточного количества контейнеров для содержания всего текста; делегат может использовать эту информацию в качестве сигнала для добавления другого текстового контейнера.layoutFinishedFlagЕсли
YEStrue,layoutManagerзакончен, изложив его текст — это также означает этоtextContainerконтейнер окончательного текста, используемый менеджером по расположению. Делегаты могут использовать эту информацию, чтобы показать индикатор или фон или включить или отключить кнопку, вызывающую непосредственное расположение текста.Обсуждение
Это сообщение отправляется каждый раз, когда текстовый контейнер был заполнен. Этот метод может быть полезен для разбиения на страницы.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
layoutManager (_: textContainer:didChangeGeometryFromSize:) - layoutManager:textContainer:didChangeGeometryFromSize:Отправленное право перед менеджером по расположению лишает законной силы расположение вследствие текстового контейнера изменяющаяся геометрия.
Объявление
Swift
optional func layoutManager(_layoutManager: NSLayoutManager, textContainertextContainer: NSTextContainer, didChangeGeometryFromSizeoldSize: CGSize)Objective C
- (void)layoutManager:(NSLayoutManager *)layoutManagertextContainer:(NSTextContainer *)textContainerdidChangeGeometryFromSize:(CGSize)oldSizeПараметры
layoutManagerМенеджер по расположению, лишающий законной силы расположение.
textContainerТекстовый контейнер, изменивший геометрию.
oldSizeРазмер текстового контейнера, прежде чем это изменило геометрию.
Обсуждение
Делегат может реагировать на геометрию, изменяют и выполняют корректировки те, которые воссоздают путь исключения.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
layoutManager (_: shouldGenerateGlyphs:properties:characterIndexes:font:forGlyphRange:) - layoutManager:shouldGenerateGlyphs:properties:characterIndexes:font:forGlyphRange:Позволяет настроить начальный процесс генерации глифа.
Объявление
Swift
optional func layoutManager(_layoutManager: NSLayoutManager, shouldGenerateGlyphsglyphs: UnsafePointer<CGGlyph>, propertiesprops: UnsafePointer<NSGlyphProperty>, characterIndexescharIndexes: UnsafePointer<Int>, fontaFont: UIFont!, forGlyphRangeglyphRange: NSRange) -> IntObjective C
- (NSUInteger)layoutManager:(NSLayoutManager *)layoutManagershouldGenerateGlyphs:(const CGGlyph *)glyphsproperties:(const NSGlyphProperty *)propscharacterIndexes:(const NSUInteger *)charIndexesfont:(UIFont *)aFontforGlyphRange:(NSRange)glyphRangeПараметры
layoutManagerМенеджер по расположению, делающий расположение.
glyphsУказатель на кэш глифа менеджера по расположению.
propsУказатель на буферное, содержащее свойства глифа для глифов в кэше.
charIndexesУказатель на начальное значение индекса для символов в текстовом хранении, для которого сгенерированы глифы.
aFontШрифт для переопределения атрибутов шрифта в текстовом хранении для указанного диапазона символов.
glyphRangeДиапазон глифов в кэше глифа для установки.
Возвращаемое значение
Фактический диапазон глифа сохранен в этом методе. Путем возврата
0, это может указать для менеджера по расположению, чтобы сделать обработку по умолчанию.Обсуждение
Это сообщение отправляется каждый раз, когда менеджер по расположению собирается хранить начальную информацию глифа через
setGlyphs:properties:characterIndexes:font:forGlyphRange:. Для настройки начального процесса генерации глифа этот метод может вызватьsetGlyphs:properties:characterIndexes:font:forGlyphRange:с измененной информацией о глифе.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
layoutManager (_: shouldUseAction:forControlCharacterAtIndex:) - layoutManager:shouldUseAction:forControlCharacterAtIndex:Возвращает действие управляющего символа для управляющего символа в данном индексе символа.
Объявление
Swift
optional func layoutManager(_layoutManager: NSLayoutManager, shouldUseActionaction: NSControlCharacterAction, forControlCharacterAtIndexcharIndex: Int) -> NSControlCharacterActionObjective C
- (NSControlCharacterAction)layoutManager:(NSLayoutManager *)layoutManagershouldUseAction:(NSControlCharacterAction)actionforControlCharacterAtIndex:(NSUInteger)charIndexПараметры
layoutManagerМенеджер по расположению, делающий расположение.
actionПредложенные меры управляющего символа для символа в данном индексе. Возможные значения перечисляются
NSControlCharacterAction.charIndexИндекс управляющего символа, для которого предложены меры.
Возвращаемое значение
Действие управляющего символа для управляющего символа в данном индексе.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
Сообщает делегату, что данный менеджер по расположению лишил законной силы информацию макета (не информация о глифе).
Объявление
Swift
optional func layoutManagerDidInvalidateLayout(_sender: NSLayoutManager)Objective C
- (void)layoutManagerDidInvalidateLayout:(NSLayoutManager *)senderПараметры
senderМенеджер по расположению, лишивший законной силы расположение.
Обсуждение
Это сообщение отправляется только, когда расположение было завершено и затем стало лишенным законной силы по некоторым причинам. Делегаты могут использовать эту информацию, чтобы показать индикатор фонового расположения или включить кнопку, вызывающую непосредственное расположение текста.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
