Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка Платформы UIKit Ссылка класса NSLayoutManager для iOS

Опции
Развертывание Target:

На этой странице
Язык:

NSLayoutManager

Наследование


Соответствует


Оператор импорта


Swift

import UIKit

Objective C

@import UIKit;

Доступность


Доступный в iOS 7.0 и позже.

NSLayoutManager возразите координирует расположение, и дисплей символов сдержался NSTextStorage объект. Это отображает коды символов Unicode на глифы, устанавливает глифы в серии NSTextContainer объекты, и выводят на экран их в серии текстовых объектов представления. В дополнение к его базовой функции разметки текста, NSLayoutManager возразите координирует ее текстовые объекты представления, предоставляет услуги тем текстовым представлениям для поддержки стилей абзаца редактирования и обрабатывает расположение, и дисплей текста приписывает не свойственный от глифов (таких как подчеркивание или перечеркивание). Можно создать подкласс NSLayoutManager обработать дополнительные текстовые атрибуты, или свойственный или нет.

NLayoutManager, NSTextStorage, и NSTextContainer может быть получен доступ от подпотоков, пока приложение гарантирует доступ от единственного потока.

  • textStorage Свойство

    Текстовый объект хранения получателя.

    Объявление

    Swift

    unowned(unsafe) var textStorage: NSTextStorage?

    Objective C

    @property(assign, nonatomic) NSTextStorage *textStorage

    Обсуждение

    Когда Вы добавляете, это свойство установлено автоматически NSLayoutManager к NSTextStorage объект; Вы никогда не должны должны быть устанавливать его непосредственно.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Добавляет данный текстовый контейнер к серии текстовых контейнеров, где получатель располагает текст.

    Объявление

    Swift

    func addTextContainer(_ container: NSTextContainer)

    Objective C

    - (void)addTextContainer:(NSTextContainer *)container

    Параметры

    container

    Текстовый контейнер для добавления.

    Обсуждение

    Этот метод лишает законной силы расположение всех глифов после предыдущего последнего контейнера (т.е. глифы, ранее не размеченные, потому что они не будут соответствовать нигде).

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • textContainers Свойство

    Текстовые контейнеры получателя. (только для чтения)

    Объявление

    Swift

    var textContainers: [AnyObject] { get }

    Objective C

    @property(readonly, nonatomic) NSArray *textContainers

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Вставляет данный текстовый контейнер в серию текстовых контейнеров в данном индексе.

    Объявление

    Swift

    func insertTextContainer(_ container: NSTextContainer, atIndex index: Int)

    Objective C

    - (void)insertTextContainer:(NSTextContainer *)container atIndex:(NSUInteger)index

    Параметры

    container

    Текстовый контейнер для вставки.

    index

    Индекс в серии текстовых контейнеров, в которых можно вставить aTextContainer.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Удаляет текстовый контейнер в данном индексе и лишает законной силы расположение по мере необходимости.

    Объявление

    Swift

    func removeTextContainerAtIndex(_ index: Int)

    Objective C

    - (void)removeTextContainerAtIndex:(NSUInteger)index

    Параметры

    index

    Индекс текстового контейнера для удаления.

    Обсуждение

    Этот метод лишает законной силы информацию о глифе по мере необходимости.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Текстовый контейнер наборов, где размечаются глифы в данном диапазоне.

    Объявление

    Swift

    func setTextContainer(_ container: NSTextContainer?, forGlyphRange glyphRange: NSRange)

    Objective C

    - (void)setTextContainer:(NSTextContainer *)container forGlyphRange:(NSRange)glyphRange

    Параметры

    container

    Текстовый контейнер для установки.

    glyphRange

    Диапазон глифов для разметки.

    Обсуждение

    Расположение в контейнере указано с setLineFragmentRect:forGlyphRange:usedRect: и setLocation:forStartOfGlyphRange: методы.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Лишает законной силы информацию макета, и возможно глифы, для данного текстового контейнера и всех последующих NSTextContainer объекты.

    Объявление

    Swift

    func textContainerChangedGeometry(_ container: NSTextContainer)

    Objective C

    - (void)textContainerChangedGeometry:(NSTextContainer *)container

    Параметры

    container

    Текстовый контейнер, расположение которого лишено законной силы.

    Обсуждение

    Этот метод вызывается автоматически другими компонентами текстовой системы; необходимо редко должны быть вызвать его непосредственно. Подклассы NSTextContainer, однако, должен вызвать этот метод любое время их размер или изменения формы (текстовый контейнер, динамично корректирующий его свойства для обертывания текста вокруг помещенной графики, например, должен сделать так, когда диаграмма добавлена, перемещена или удалена).

    Лишает законной силы расположение всех глифов в контейнере и всех последующих контейнерах.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает контейнер, в котором данный глиф размечается и (дополнительно) ссылкой целый диапазон глифов, которые находятся в том контейнере.

    Объявление

    Swift

    func textContainerForGlyphAtIndex(_ glyphIndex: Int, effectiveRange effectiveGlyphRange: NSRangePointer) -> NSTextContainer?

    Objective C

    - (NSTextContainer *)textContainerForGlyphAtIndex:(NSUInteger)glyphIndex effectiveRange:(NSRangePointer)effectiveGlyphRange

    Параметры

    glyphIndex

    Индекс глифа в возвращенном контейнере.

    effectiveGlyphRange

    Если нет NULL, на выводе, точках к целому диапазону глифов, которые находятся в возвращенном контейнере.

    Возвращаемое значение

    Текстовый контейнер тот, в который глиф в glyphIndex размечается.

    Обсуждение

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

    Переопределение этого метода не рекомендуется.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает ограничительный прямоугольник для глифов, размеченных в данном текстовом контейнере.

    Объявление

    Swift

    func usedRectForTextContainer(_ container: NSTextContainer) -> CGRect

    Objective C

    - (CGRect)usedRectForTextContainer:(NSTextContainer *)container

    Параметры

    container

    Текстовый контейнер, в котором размечаются глифы.

    Возвращаемое значение

    Ограничительный прямоугольник глифов в container.

    Обсуждение

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

    Этот метод не вызывает ни генерации глифа, ни расположения. Используемые прямоугольники всегда находятся в контейнерных координатах.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • delegate Свойство

    Этот делегат менеджера по расположению.

    Объявление

    Swift

    unowned(unsafe) var delegate: NSLayoutManagerDelegate?

    Objective C

    @property(assign, nonatomic) id< NSLayoutManagerDelegate > delegate

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • allowsNonContiguousLayout Свойство

    Указывает, включено ли расположение состоящее из нескольких несмежных участков или отключено.

    Объявление

    Swift

    var allowsNonContiguousLayout: Bool

    Objective C

    @property(nonatomic) BOOL allowsNonContiguousLayout

    Обсуждение

    Если YEStrue, тогда менеджер по расположению может выполнить генерацию глифа и расположение для данной части текста, не имея глифов или расположения для предшествования частям. Свойство позволяет, но не требует, менеджер по расположению для использования расположения состоящего из нескольких несмежных участков, и менеджер по расположению может не сделать так, в зависимости от его конфигурации. Значение по умолчанию NOfalse.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • hasNonContiguousLayout Свойство

    Указывает, есть ли у менеджера по расположению в настоящее время какие-либо области расположения состоящего из нескольких несмежных участков. (только для чтения)

    Объявление

    Swift

    var hasNonContiguousLayout: Bool { get }

    Objective C

    @property(readonly, nonatomic) BOOL hasNonContiguousLayout

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • hyphenationFactor Свойство

    Текущий порог расстановки переносов.

    Объявление

    Swift

    var hyphenationFactor: CGFloat

    Objective C

    @property(nonatomic) CGFloat hyphenationFactor

    Обсуждение

    Фактор расстановки переносов колеблется от 0,0 до 1,0. По умолчанию значение 0.0, означая, что расстановка переносов выключена. Значение 1,0 расстановок переносов причин, которые будут всегда пробоваться.

    Каждый раз, когда (ширина реального содержания строки) / (ширина фрагмента строки) меньше, чем hyphenationFactor, расстановка переносов опробована при разметке строки. Расстановка переносов замедляет текстовое расположение и увеличивает использование памяти, таким образом, это должно использоваться экономно.

    Может быть переопределен на основе на абзац путем установки NSParagraphStyle свойство hyphenationFactor.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • showsControlCharacters Свойство

    Указывает, заменить ли видимыми глифами управляющие символы в расположении.

    Объявление

    Swift

    var showsControlCharacters: Bool

    Objective C

    @property(nonatomic) BOOL showsControlCharacters

    Обсуждение

    Если YEStrue, получатель заменяет видимыми глифами управляющие символы, если шрифт и сценарий поддерживают его; если NOfalse, это не делает. Значение по умолчанию NOfalse.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • showsInvisibleCharacters Свойство

    Указывает, заменить ли видимыми глифами пробел и другие обычно невидимые символы в расположении.

    Объявление

    Swift

    var showsInvisibleCharacters: Bool

    Objective C

    @property(nonatomic) BOOL showsInvisibleCharacters

    Обсуждение

    Если YEStrue, получатель заменяет видимыми глифами невидимые символы, если шрифт и сценарий поддерживают его; если NOfalse, это не делает. Значение по умолчанию NOfalse.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • usesFontLeading Свойство

    Указывает, использует ли получатель продвижение, предоставленное в шрифте.

    Объявление

    Swift

    var usesFontLeading: Bool

    Objective C

    @property(nonatomic) BOOL usesFontLeading

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Лишает законной силы дисплей для данного диапазона символов.

    Объявление

    Swift

    func invalidateDisplayForCharacterRange(_ charRange: NSRange)

    Objective C

    - (void)invalidateDisplayForCharacterRange:(NSRange)charRange

    Параметры

    charRange

    Диапазон символов, для которого лишен законной силы дисплей.

    Обсуждение

    Не размечающиеся части диапазона помнят и восстанавливают позже, когда расположение доступно. Фактически не вызывает расположение.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Отмечает глифы в данном диапазоне глифа как нуждающийся в дисплее, а также надлежащих областях NSTextView объекты, выводящие на экран те глифы (использующий NSView метод setNeedsDisplayInRect:).

    Объявление

    Swift

    func invalidateDisplayForGlyphRange(_ glyphRange: NSRange)

    Objective C

    - (void)invalidateDisplayForGlyphRange:(NSRange)glyphRange

    Параметры

    glyphRange

    Диапазон глифов для лишения законной силы.

    Обсуждение

    Необходимо редко должны быть вызвать этот метод.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Лишает законной силы кэшируемые глифы для символов в данном диапазоне символов, корректирует индексы символа всех последующих глифов изменением в длине и лишает законной силы новый диапазон символов.

    Объявление

    Swift

    func invalidateGlyphsForCharacterRange(_ charRange: NSRange, changeInLength delta: Int, actualCharacterRange actualCharRange: NSRangePointer)

    Objective C

    - (void)invalidateGlyphsForCharacterRange:(NSRange)charRange changeInLength:(NSInteger)delta actualCharacterRange:(NSRangePointer)actualCharRange

    Параметры

    charRange

    Диапазон символов, для которых можно лишить законной силы глифы.

    delta

    Число символов добавило или удалило.

    actualCharRange

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

    Обсуждение

    Этот метод только лишает законной силы информацию о глифе и не выполняет генерации глифа или расположения. Поскольку лишение законной силы глифов также лишает законной силы расположение после вызова этого метода, необходимо также вызвать invalidateLayoutForCharacterRange:actualCharacterRange:, передача charRange как первый параметр.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Лишает законной силы информацию макета для глифов, отображенных на данном диапазоне символов.

    Объявление

    Swift

    func invalidateLayoutForCharacterRange(_ charRange: NSRange, actualCharacterRange actualCharRange: NSRangePointer)

    Objective C

    - (void)invalidateLayoutForCharacterRange:(NSRange)charRange actualCharacterRange:(NSRangePointer)actualCharRange

    Параметры

    charRange

    Диапазон символов для лишения законной силы.

    actualCharRange

    Если нет NULL, на выводе, фактический диапазон, лишенный законной силы после любого необходимого расширения.

    Обсуждение

    Этот метод только лишает законной силы информацию; это не выполняет генерации глифа или расположения. Необходимо редко должны быть вызвать этот метод.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Отправленный от NSTextStorage метод processEditing уведомлять менеджера по расположению относительно действия редактирования.

    Объявление

    Swift

    func processEditingForTextStorage(_ textStorage: NSTextStorage, edited editMask: NSTextStorageEditActions, range newCharRange: NSRange, changeInLength delta: Int, invalidatedRange invalidatedCharRange: NSRange)

    Objective C

    - (void)processEditingForTextStorage:(NSTextStorage *)textStorage edited:(NSTextStorageEditActions)editMask range:(NSRange)newCharRange changeInLength:(NSInteger)delta invalidatedRange:(NSRange)invalidatedCharRange

    Параметры

    textStorage

    Текстовые редактирования обработки объекта хранения.

    editMask

    Типы сделанных редактирований: NSTextStorageEditedAttributes, NSTextStorageEditedCharacters, или оба.

    newCharRange

    Диапазон в явно отредактированной заключительной строке.

    delta

    Дельта длины для изменений редактирования.

    invalidatedCharRange

    Диапазон символов, изменившихся в результате фиксации атрибута. Этот лишенный законной силы диапазон любой равен newCharRange или больше.

    Обсуждение

    Менеджеры по расположению не должны изменять содержание текстового хранения во время выполнения этого сообщения.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Вынуждает получатель генерировать глифы для указанного диапазона символов, если это уже не сделало так.

    Объявление

    Swift

    func ensureGlyphsForCharacterRange(_ charRange: NSRange)

    Objective C

    - (void)ensureGlyphsForCharacterRange:(NSRange)charRange

    Параметры

    charRange

    Диапазон символов, для которого сгенерированы глифы.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Вынуждает получатель генерировать глифы для указанного диапазона глифа, если это уже не сделало так.

    Объявление

    Swift

    func ensureGlyphsForGlyphRange(_ glyphRange: NSRange)

    Objective C

    - (void)ensureGlyphsForGlyphRange:(NSRange)glyphRange

    Параметры

    glyphRange

    Диапазон глифа, для которого сгенерированы глифы.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Вынуждает получатель выполнить расположение для указанной области в указанном текстовом контейнере, если это уже не сделало так.

    Объявление

    Swift

    func ensureLayoutForBoundingRect(_ bounds: CGRect, inTextContainer container: NSTextContainer)

    Objective C

    - (void)ensureLayoutForBoundingRect:(CGRect)bounds inTextContainer:(NSTextContainer *)container

    Параметры

    bounds

    Область, для которой выполняется расположение.

    container

    Текстовый контейнер, содержащий область, для которой выполняется расположение.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Вынуждает получатель выполнить расположение для указанного диапазона символов, если это уже не сделало так.

    Объявление

    Swift

    func ensureLayoutForCharacterRange(_ charRange: NSRange)

    Objective C

    - (void)ensureLayoutForCharacterRange:(NSRange)charRange

    Параметры

    charRange

    Диапазон символов, для которого выполняется расположение.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Вынуждает получатель выполнить расположение для указанного диапазона глифа, если это уже не сделало так.

    Объявление

    Swift

    func ensureLayoutForGlyphRange(_ glyphRange: NSRange)

    Objective C

    - (void)ensureLayoutForGlyphRange:(NSRange)glyphRange

    Параметры

    glyphRange

    Диапазон глифа, для которого выполняется расположение.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Вынуждает получатель выполнить расположение для указанного текстового контейнера, если это уже не сделало так.

    Объявление

    Swift

    func ensureLayoutForTextContainer(_ container: NSTextContainer)

    Objective C

    - (void)ensureLayoutForTextContainer:(NSTextContainer *)container

    Параметры

    container

    Текстовый контейнер, для которого выполняется расположение.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Хранит начальные глифы и свойства глифа для диапазона символов.

    Объявление

    Swift

    func setGlyphs(_ glyphs: UnsafePointer<CGGlyph>, properties props: UnsafePointer<NSGlyphProperty>, characterIndexes charIndexes: UnsafePointer<Int>, font aFont: UIFont?, forGlyphRange glyphRange: NSRange)

    Objective C

    - (void)setGlyphs:(const CGGlyph *)glyphs properties:(const NSGlyphProperty *)props characterIndexes:(const NSUInteger *)charIndexes font:(UIFont *)aFont forGlyphRange:(NSRange)glyphRange

    Параметры

    glyphs

    Указатель на кэш глифа менеджера по расположению.

    props

    Указатель на буферное, содержащее свойства глифа для глифов в кэше.

    charIndexes

    Указатель на начальное значение индекса для символов в текстовом хранении, для которого сгенерированы глифы.

    aFont

    Шрифт для переопределения атрибутов шрифта в текстовом хранении для указанного диапазона символов.

    glyphRange

    Диапазон глифов в кэше глифа для установки.

    Обсуждение

    Этот метод вызывается текстовой системой во время процесса генерации глифа. Единственным приложениям места позволяют вызвать этот метод, непосредственно от реализации NSLayoutManagerDelegate метод протокола layoutManager:shouldGenerateGlyphs:properties:characterIndexes:font:forGlyphRange:.

    Каждый массив имеет glyphRange.length элементы. Указанное charIndexes должно быть непрерывным (никакие пропущенные индексы), позволив многократным элементам иметь тот же индекс символа (как тогда, когда один индекс символа генерирует многократный глиф IDs). Вследствие замены шрифтов, aFont переданный в этот метод не мог бы соответствовать шрифт в словаре атрибутов. Вызов этого метода для диапазона символов, ранее вычислившего информацию макета, лишает законной силы расположение и дисплей.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает индекс в текстовом хранении для первого символа, связанного с данным глифом.

    Объявление

    Swift

    func characterIndexForGlyphAtIndex(_ glyphIndex: Int) -> Int

    Objective C

    - (NSUInteger)characterIndexForGlyphAtIndex:(NSUInteger)glyphIndex

    Параметры

    glyphIndex

    Индекс глифа, для которого можно возвратить связанный символ.

    Возвращаемое значение

    Индекс первого символа связался с глифом в указанном индексе.

    Обсуждение

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

    Во многих случаях лучше использовать отображающие диапазон методы, characterRangeForGlyphRange:actualGlyphRange: и glyphRangeForCharacterRange:actualCharacterRange:, которые предоставляют более исчерпывающую информацию.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Заполняет переданный - в буфере с последовательностью глифов.

    Объявление

    Swift

    func getGlyphsInRange(_ glyphRange: NSRange, glyphs glyphBuffer: UnsafeMutablePointer<CGGlyph>, properties props: UnsafeMutablePointer<NSGlyphProperty>, characterIndexes charIndexBuffer: UnsafeMutablePointer<Int>, bidiLevels bidiLevelBuffer: UnsafeMutablePointer<UInt8>) -> Int

    Objective C

    - (NSUInteger)getGlyphsInRange:(NSRange)glyphRange glyphs:(CGGlyph *)glyphBuffer properties:(NSGlyphProperty *)props characterIndexes:(NSUInteger *)charIndexBuffer bidiLevels:(unsigned char *)bidiLevelBuffer

    Параметры

    glyphRange

    Диапазон глифов для заполнения.

    glyphBuffer

    На выводе, последовательности глифов в данном диапазоне глифа.

    props

    Если нет NULL, на выводе, свойства глифа, соответствующие заполненному - в глифах.

    charIndexBuffer

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

    bidiLevelBuffer

    Если нет NULL, на выводе, направлении каждого глифа для двунаправленного текста. Значения колеблются от 0 до 61, как определено Приложением № 9 Стандарта Unicode. Даже значение означает, что глиф идет слева направо, и нечетное значение означает, что глиф идет справа налево.

    Возвращаемое значение

    Число глифов возвратилось в glyphBuffer.

    Обсуждение

    Каждый указатель передал в, должен или быть NULL или иначе укажите на достаточную память для содержания glyphRange.length элементы.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает глиф в данном индексе глифа.

    Объявление

    Swift

    func glyphAtIndex(_ glyphIndex: Int) -> CGGlyph

    Objective C

    - (CGGlyph)glyphAtIndex:(NSUInteger)glyphIndex

    Параметры

    glyphIndex

    Индекс глифа в получателе. Это значение не должно превышать границы массива глифа получателя.

    Возвращаемое значение

    Глиф в glyphIndex.

    Обсуждение

    Повышения NSRangeException если glyphIndex выходит за пределы.

    Выполняет генерацию глифа в случае необходимости. Избегать исключения с glyphAtIndex: необходимо сначала проверить индекс глифа по числу глифов, требующему генерации всех глифов. Другой метод, glyphAtIndex:isValidIndex:, генерирует глифы только до того, который требуют, так использование, это может быть более эффективно.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

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

    Объявление

    Swift

    func glyphAtIndex(_ glyphIndex: Int, isValidIndex isValidIndex: UnsafeMutablePointer<ObjCBool>) -> CGGlyph

    Objective C

    - (CGGlyph)glyphAtIndex:(NSUInteger)glyphIndex isValidIndex:(BOOL *)isValidIndex

    Параметры

    glyphIndex

    Индекс глифа, который будет возвращен.

    isValidIndex

    Если нет NULL, на выводе, YEStrue если требуемый индекс находится в диапазоне; иначе NOfalse.

    Возвращаемое значение

    Глиф в требуемом индексе, или NSNullGlyph если требуемый индекс вне диапазона {0, numberOfGlyphs}.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает индекс первого глифа, связанного с символом в указанном индексе.

    Объявление

    Swift

    func glyphIndexForCharacterAtIndex(_ charIndex: Int) -> Int

    Objective C

    - (NSUInteger)glyphIndexForCharacterAtIndex:(NSUInteger)charIndex

    Параметры

    charIndex

    Индекс символа, для которого можно возвратить связанный глиф.

    Возвращаемое значение

    Индекс первого глифа связался с символом в указанном индексе.

    Обсуждение

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

    Во многих случаях лучше использовать отображающие диапазон методы, characterRangeForGlyphRange:actualGlyphRange: и glyphRangeForCharacterRange:actualCharacterRange:, которые предоставляют более исчерпывающую информацию.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Указывает, относится ли указанный индекс к допустимому глифу.

    Объявление

    Swift

    func isValidGlyphIndex(_ glyphIndex: Int) -> Bool

    Objective C

    - (BOOL)isValidGlyphIndex:(NSUInteger)glyphIndex

    Параметры

    glyphIndex

    Индекс глифа в получателе.

    Возвращаемое значение

    YEStrue если указанное glyphIndex относится к допустимому глифу, иначе NOfalse.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • numberOfGlyphs Свойство

    Число глифов в получателе. (только для чтения)

    Объявление

    Swift

    var numberOfGlyphs: Int { get }

    Objective C

    @property(readonly, nonatomic) NSUInteger numberOfGlyphs

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает свойство глифа, связанное с глифом в указанном индексе.

    Объявление

    Swift

    func propertyForGlyphAtIndex(_ glyphIndex: Int) -> NSGlyphProperty

    Objective C

    - (NSGlyphProperty)propertyForGlyphAtIndex:(NSUInteger)glyphIndex

    Параметры

    glyphIndex

    Глиф, свойство глифа которого возвращается.

    Возвращаемое значение

    Свойство глифа связалось с указанным глифом. NSGlyphProperty перечисляет значения, которые могут быть возвращены.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Устанавливает размер, в котором данный глиф (предполагаемый быть присоединением) просят нарисовать в данном диапазоне глифа.

    Объявление

    Swift

    func setAttachmentSize(_ attachmentSize: CGSize, forGlyphRange glyphRange: NSRange)

    Objective C

    - (void)setAttachmentSize:(CGSize)attachmentSize forGlyphRange:(NSRange)glyphRange

    Параметры

    attachmentSize

    Размер глифа для установки.

    glyphRange

    Присоединяемая позиция глифа в потоке глифа.

    Обсуждение

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

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Указывает, превышает ли данный глиф границы фрагмента строки, где это размечается.

    Объявление

    Swift

    func setDrawsOutsideLineFragment(_ flag: Bool, forGlyphAtIndex glyphIndex: Int)

    Objective C

    - (void)setDrawsOutsideLineFragment:(BOOL)flag forGlyphAtIndex:(NSUInteger)glyphIndex

    Параметры

    flag

    Если YEStrue, устанавливает данный глиф для рисования вне его фрагмента строки; если NOfalse, глиф не рисует снаружи.

    glyphIndex

    Индекс глифа для установки.

    Обсуждение

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

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Устанавливает границы и контейнер для дополнительного фрагмента строки.

    Объявление

    Swift

    func setExtraLineFragmentRect(_ fragmentRect: CGRect, usedRect usedRect: CGRect, textContainer container: NSTextContainer?)

    Objective C

    - (void)setExtraLineFragmentRect:(CGRect)fragmentRect usedRect:(CGRect)usedRect textContainer:(NSTextContainer *)container

    Параметры

    fragmentRect

    Прямоугольник для установки.

    usedRect

    Указывает, где нарисована точка вставки.

    container

    Текстовый контейнер, где должен быть размечен прямоугольник.

    Обсуждение

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

    Прямоугольники фрагмента строки и используемые прямоугольники фрагмента строки всегда находятся в контейнерных координатах.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Связывает данные границы фрагмента строки с данным диапазоном глифов.

    Объявление

    Swift

    func setLineFragmentRect(_ fragmentRect: CGRect, forGlyphRange glyphRange: NSRange, usedRect usedRect: CGRect)

    Objective C

    - (void)setLineFragmentRect:(CGRect)fragmentRect forGlyphRange:(NSRange)glyphRange usedRect:(CGRect)usedRect

    Параметры

    fragmentRect

    Прямоугольник фрагмента строки.

    glyphRange

    Диапазон глифов, которые будут связаны с fragmentRect.

    usedRect

    Часть fragmentRect это фактически содержит глифы или другие метки, нарисованные (включая текстовое дополнение фрагмента строки контейнера. Должно быть равно или содержавший в fragmentRect.

    Обсуждение

    Менеджер по расположению должен указать текстовый контейнер сначала с setTextContainer:forGlyphRange:, и это устанавливает точные позиции глифов впоследствии с setLocation:forStartOfGlyphRange:.

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

    Прямоугольники фрагмента строки и используемые прямоугольники фрагмента строки всегда находятся в контейнерных координатах.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Устанавливает расположение для первого глифа данного диапазона.

    Объявление

    Swift

    func setLocation(_ location: CGPoint, forStartOfGlyphRange glyphRange: NSRange)

    Objective C

    - (void)setLocation:(CGPoint)location forStartOfGlyphRange:(NSRange)glyphRange

    Параметры

    location

    Расположение, в которое первый глиф установлен относительно источника источника фрагмента строки глифа.

    glyphRange

    Глифы, расположение которых установлено.

    Обсуждение

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

    Прежде, чем установить расположение для диапазона глифа, необходимо указать текстовый контейнер с setTextContainer:forGlyphRange: и прямоугольник фрагмента строки с setLineFragmentRect:forGlyphRange:usedRect:.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Устанавливает глиф в данном индексе, чтобы быть непоказанным тем.

    Объявление

    Swift

    func setNotShownAttribute(_ flag: Bool, forGlyphAtIndex glyphIndex: Int)

    Objective C

    - (void)setNotShownAttribute:(BOOL)flag forGlyphAtIndex:(NSUInteger)glyphIndex

    Параметры

    flag

    Если YEStrue, глиф не показан; если NOfalse, это показано.

    glyphIndex

    Индекс глифа, атрибут которого установлен.

    Обсуждение

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

    Повышения NSRangeException если glyphIndex выходит за пределы.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Для глифа, соответствующего присоединению, возвращает размер для присоединяемой ячейки для занятия.

    Объявление

    Swift

    func attachmentSizeForGlyphAtIndex(_ glyphIndex: Int) -> CGSize

    Objective C

    - (CGSize)attachmentSizeForGlyphAtIndex:(NSUInteger)glyphIndex

    Параметры

    glyphIndex

    Индекс присоединяемого глифа.

    Возвращаемое значение

    Размер для присоединяемой ячейки для занятия. Возвраты {-1.0, -1.0} если нет никакого присоединения, положенного для указанного глифа.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Указывает, рисует ли глиф за пределами его прямоугольника фрагмента строки.

    Объявление

    Swift

    func drawsOutsideLineFragmentForGlyphAtIndex(_ glyphIndex: Int) -> Bool

    Objective C

    - (BOOL)drawsOutsideLineFragmentForGlyphAtIndex:(NSUInteger)glyphIndex

    Параметры

    glyphIndex

    Индекс глифа.

    Возвращаемое значение

    YEStrue если глиф в glyphIndex превышает границы фрагмента строки, где он размечается; иначе NOfalse.

    Обсуждение

    Когда текст установлен на фиксированной высоте строки, превышение границ может произойти. Например, если пользователь укажет фиксированную высоту строки 12 точек и установит размер шрифта в 24 точки, то глифы превысят свои прямоугольники расположения.

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

    Глифами, рисующими вне их прямоугольников фрагмента строки, рассматривают boundingRectForGlyphRange:inTextContainer:.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • extraLineFragmentRect Свойство

    Прямоугольник, определяющий дополнительный фрагмент строки для точки вставки в конце текста (или в пустом тексте или после заключительного разделителя абзацев). (только для чтения)

    Объявление

    Swift

    var extraLineFragmentRect: CGRect { get }

    Objective C

    @property(readonly, nonatomic) CGRect extraLineFragmentRect

    Обсуждение

    Прямоугольник определяется в системе координат его текстового контейнера. NSZeroRect если нет такого прямоугольника.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Текстовый контейнер, содержащий дополнительный прямоугольник фрагмента строки. (только для чтения)

    Объявление

    Swift

    var extraLineFragmentTextContainer: NSTextContainer? { get }

    Objective C

    @property(readonly, nonatomic) NSTextContainer *extraLineFragmentTextContainer

    Обсуждение

    Значение этого свойства nil если нет никакого дополнительного прямоугольника фрагмента строки.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • extraLineFragmentUsedRect Свойство

    Прямоугольник, включающий точку вставки, нарисованную в дополнительном прямоугольнике фрагмента строки. (только для чтения)

    Объявление

    Swift

    var extraLineFragmentUsedRect: CGRect { get }

    Objective C

    @property(readonly, nonatomic) CGRect extraLineFragmentUsedRect

    Обсуждение

    Прямоугольник определяется в системе координат его текстового контейнера. NSZeroRect если нет никакого дополнительного прямоугольника фрагмента строки.

    Дополнительный фрагмент строки использовал прямоугольник, вдвое более широко (или высок), чем текстовое дополнение фрагмента строки контейнера, с самой точкой вставки в середине.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает индекс для первого символа в неразмеченном менеджере по расположению.

    Объявление

    Swift

    func firstUnlaidCharacterIndex() -> Int

    Objective C

    - (NSUInteger)firstUnlaidCharacterIndex

    Возвращаемое значение

    Индекс символа.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает индекс для первого глифа в неразмеченном менеджере по расположению.

    Объявление

    Swift

    func firstUnlaidGlyphIndex() -> Int

    Objective C

    - (NSUInteger)firstUnlaidGlyphIndex

    Возвращаемое значение

    Индекс глифа.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает индекс для первого символа или глифа или обоих, имея недопустимую информацию макета.

    Объявление

    Swift

    func getFirstUnlaidCharacterIndex(_ charIndex: UnsafeMutablePointer<Int>, glyphIndex glyphIndex: UnsafeMutablePointer<Int>)

    Objective C

    - (void)getFirstUnlaidCharacterIndex:(NSUInteger *)charIndex glyphIndex:(NSUInteger *)glyphIndex

    Параметры

    charIndex

    Если нет NULL, по возврату, индексу первого символа, имеющего недопустимую информацию макета

    glyphIndex

    Если нет NULL, по возврату, индексу первого глифа, имеющего недопустимую информацию макета.

    Обсуждение

    Любой параметр может быть NULL, когда получатель просто игнорирует его.

    Как часть его реализации, это вызовы метода firstUnlaidCharacterIndex и firstUnlaidGlyphIndex. Для изменения поведения этого метода переопределите те два метода вместо этого.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает прямоугольник для фрагмента строки, в котором данный глиф размечается и (дополнительно), ссылкой, целым диапазоном глифов, которые находятся в том фрагменте.

    Объявление

    Swift

    func lineFragmentRectForGlyphAtIndex(_ glyphIndex: Int, effectiveRange effectiveGlyphRange: NSRangePointer) -> CGRect

    Objective C

    - (CGRect)lineFragmentRectForGlyphAtIndex:(NSUInteger)glyphIndex effectiveRange:(NSRangePointer)effectiveGlyphRange

    Параметры

    glyphIndex

    Глиф, для которого можно возвратить прямоугольник фрагмента строки.

    effectiveGlyphRange

    Если нет NULL, на выводе, диапазоне для всех глифов во фрагменте строки.

    Возвращаемое значение

    Фрагмент строки, в котором размечается данный глиф.

    Обсуждение

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

    Прямоугольники фрагмента строки всегда находятся в контейнерных координатах.

    Переопределение этого метода не рекомендуется. Если прямоугольник фрагмента строки должен быть изменен, который должен быть сделан путем вызова setLineFragmentRect:forGlyphRange:usedRect:.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает прямоугольник использования для фрагмента строки, в котором данный глиф положен и (дополнительно) ссылкой целый диапазон глифов, которые находятся в том фрагменте.

    Объявление

    Swift

    func lineFragmentUsedRectForGlyphAtIndex(_ glyphIndex: Int, effectiveRange effectiveGlyphRange: NSRangePointer) -> CGRect

    Objective C

    - (CGRect)lineFragmentUsedRectForGlyphAtIndex:(NSUInteger)glyphIndex effectiveRange:(NSRangePointer)effectiveGlyphRange

    Параметры

    glyphIndex

    Глиф, для которого можно возвратить фрагмент строки, использовал прямоугольник.

    effectiveGlyphRange

    Если нет NULL, на выводе, диапазоне для всех глифов во фрагменте строки.

    Возвращаемое значение

    Используемый прямоугольник для фрагмента строки, в котором размечается данный глиф.

    Обсуждение

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

    Используемые прямоугольники фрагмента строки всегда находятся в контейнерных координатах.

    Переопределение этого метода не рекомендуется. Если фрагмент строки использовал прямоугольные потребности, которые будут изменены, который должен быть сделан путем вызова setLineFragmentRect:forGlyphRange:usedRect:.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает расположение для данного глифа в его фрагменте строки.

    Объявление

    Swift

    func locationForGlyphAtIndex(_ glyphIndex: Int) -> CGPoint

    Objective C

    - (CGPoint)locationForGlyphAtIndex:(NSUInteger)glyphIndex

    Параметры

    glyphIndex

    Глиф, расположение которого возвращается.

    Возвращаемое значение

    Расположение данного глифа.

    Обсуждение

    Если данному глифу не устанавливали явное расположение для него (например, если это - часть — но не сначала в — последовательность номинально расположенных с интервалами символов), расположение вычисляется продвижениями глифа от расположения нового предыдущего глифа с набором расположения.

    Расположения глифа относительно их источника прямоугольника фрагмента строки. Прямоугольник фрагмента строки поочередно определяется в системе координат текстового контейнера, где это находится.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Указывает, является ли глиф в данном индексе непоказанным тем.

    Объявление

    Swift

    func notShownAttributeForGlyphAtIndex(_ glyphIndex: Int) -> Bool

    Objective C

    - (BOOL)notShownAttributeForGlyphAtIndex:(NSUInteger)glyphIndex

    Параметры

    glyphIndex

    Индекс глифа.

    Возвращаемое значение

    YEStrue если глиф в glyphIndex не показан; иначе NOfalse.

    Обсуждение

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

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

    Повышения NSRangeException если glyphIndex выходит за пределы.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает диапазон усеченных глифов для фрагмента строки, содержащего указанный индекс.

    Объявление

    Swift

    func truncatedGlyphRangeInLineFragmentForGlyphAtIndex(_ glyphIndex: Int) -> NSRange

    Objective C

    - (NSRange)truncatedGlyphRangeInLineFragmentForGlyphAtIndex:(NSUInteger)glyphIndex

    Параметры

    glyphIndex

    Глиф, фрагмент строки которого тестируется.

    Возвращаемое значение

    Диапазон усеченных глифов для фрагмента строки, содержащего указанный глиф, или, когда нет никакого усечения для фрагмента строки, {NSNotFound, 0}.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает отдельный ограничивающий прямоугольник (в контейнерных координатах) включающий все глифы и другие метки, нарисованные в данном текстовом контейнере для данного диапазона глифа, включая глифы, рисующие вне их прямоугольников фрагмента строки и текстовых атрибутов, таких как подчеркивание.

    Объявление

    Swift

    func boundingRectForGlyphRange(_ glyphRange: NSRange, inTextContainer container: NSTextContainer) -> CGRect

    Objective C

    - (CGRect)boundingRectForGlyphRange:(NSRange)glyphRange inTextContainer:(NSTextContainer *)container

    Параметры

    glyphRange

    Диапазон глифов, для которых можно возвратить ограничительный прямоугольник.

    container

    Текстовый контейнер, в котором размечаются глифы.

    Возвращаемое значение

    Ограничительный прямоугольник, включающий данный диапазон глифов.

    Обсуждение

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

    Выполняет генерацию глифа и расположение в случае необходимости.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает индекс символа, подпадающего под данную точку, выраженную в системе координат данного контейнера.

    Объявление

    Swift

    func characterIndexForPoint(_ point: CGPoint, inTextContainer container: NSTextContainer, fractionOfDistanceBetweenInsertionPoints partialFraction: UnsafeMutablePointer<CGFloat>) -> Int

    Objective C

    - (NSUInteger)characterIndexForPoint:(CGPoint)point inTextContainer:(NSTextContainer *)container fractionOfDistanceBetweenInsertionPoints:(CGFloat *)partialFraction

    Параметры

    point

    Точка для тестирования.

    container

    Текстовый контейнер, в котором тестируется точка.

    partialFraction

    Часть расстояния от точки вставки, логически перед данным символом к следующему.

    Возвращаемое значение

    Индекс символьного подпадания под point.

    Обсуждение

    Аналогичный glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:, но выраженный в условиях индекса символа. Метод возвращает индекс символьного подпадания под point, выраженный в системе координат container; если никакой символ не находится под точкой, самый близкий символ возвращается, где самый близкий определяется согласно требованиям выбора мышью. Однако это не просто эквивалентно взятию результата соответствующего индексного метода глифа и преобразования его к индексу символа, потому что в некоторых случаях единственный глиф представляет больше чем один выбираемый символ, например fi глиф лигатуры. В этом случае в глифе существует точка вставки, и этот метод возвращает один символ или другой, в зависимости от того, находится ли указанная точка налево или право на ту точку вставки.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает диапазон символов, генерировавших глифы в данном диапазоне глифа.

    Объявление

    Swift

    func characterRangeForGlyphRange(_ glyphRange: NSRange, actualGlyphRange actualGlyphRange: NSRangePointer) -> NSRange

    Objective C

    - (NSRange)characterRangeForGlyphRange:(NSRange)glyphRange actualGlyphRange:(NSRangePointer)actualGlyphRange

    Параметры

    glyphRange

    Диапазон глифа, для которого можно возвратить диапазон символов.

    actualGlyphRange

    Если нет NULL, на выводе, точках к полному спектру глифов, сгенерированных возвращенным диапазоном символов. Этот диапазон может быть идентичным или немного больше, чем требуемый диапазон глифа. Например, если текстовое хранение содержит символ “Ö” и кэш глифа содержит два атомарных глифа “O” и “¨”, и если glyphRange включает только первый или второй глиф, тогда actualGlyphRange установлен включить оба глифа.

    Возвращаемое значение

    Диапазон символов, генерировавших глифы в glyphRange.

    Обсуждение

    Если длина glyphRange 0, получающийся диапазон символов является диапазоном нулевой длины сразу после символа (ов), соответствующего предыдущему глифу, и actualGlyphRange также нулевая длина. Если glyphRange расширяется вне текстовой длины, метод усекает результат к числу символов в тексте.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Перечисляет прямоугольники включения для данного диапазона глифа в данном текстовом контейнере.

    Объявление

    Swift

    func enumerateEnclosingRectsForGlyphRange(_ glyphRange: NSRange, withinSelectedGlyphRange selectedRange: NSRange, inTextContainer textContainer: NSTextContainer, usingBlock block: (CGRect, UnsafeMutablePointer<ObjCBool>) -> Void)

    Objective C

    - (void)enumerateEnclosingRectsForGlyphRange:(NSRange)glyphRange withinSelectedGlyphRange:(NSRange)selectedRange inTextContainer:(NSTextContainer *)textContainer usingBlock:(void (^)(CGRect rect, BOOL *stop))block

    Параметры

    glyphRange

    Диапазон глифа, для которого можно возвратить прямоугольники включения.

    selectedRange

    Выбранные глифы в glyphRange, который может влиять на размер прямоугольников. Если не заинтересованный прямоугольниками выбора, передачей {NSNotFound, 0} как выбранный диапазон.

    textContainer

    Текстовый контейнер, в котором размечаются глифы.

    block

    Блок для применения к диапазону глифа. Блок имеет два параметра:

    rect

    Текущий прямоугольник включения.

    stop

    Ссылка на булево значение. Блок может установить значение в YEStrue остановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только установить эту булевскую переменную в YEStrue в блоке.

    Обсуждение

    Эти прямоугольники всегда находятся в контейнерных координатах. Они могут использоваться для рисования фона текста или выделения для данного диапазона символов. Прямоугольники не обязательно включают глифы, рисующие вне их прямоугольников фрагмента строки; использовать boundingRectForGlyphRange:inTextContainer: определить область, содержащую все получение, выполняемое для диапазона глифов.

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

    Выполняет генерацию глифа и расположение в случае необходимости.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Перечисляет фрагменты строки, пересекающиеся с данным диапазоном глифа.

    Объявление

    Swift

    func enumerateLineFragmentsForGlyphRange(_ glyphRange: NSRange, usingBlock block: (CGRect, CGRect, NSTextContainer!, NSRange, UnsafeMutablePointer<ObjCBool>) -> Void)

    Objective C

    - (void)enumerateLineFragmentsForGlyphRange:(NSRange)glyphRange usingBlock:(void (^)(CGRect rect, CGRect usedRect, NSTextContainer *textContainer, NSRange glyphRange, BOOL *stop))block

    Параметры

    glyphRange

    Диапазон глифа, для которого можно возвратить прямоугольники фрагмента строки.

    block

    Блок для применения к диапазону глифа. Блок имеет пять параметров:

    rect

    Текущий прямоугольник фрагмента строки.

    usedRect

    Часть прямоугольника фрагмента строки, фактически содержащего глифы или другие метки, нарисованные (включая текстовое дополнение фрагмента строки контейнера).

    textContainer

    Текстовый контейнер, в котором размечаются глифы.

    glyphRange

    Диапазон глифов размечается в текущем фрагменте строки.

    stop

    Ссылка на булево значение. Блок может установить значение в YEStrue остановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только установить эту булевскую переменную в YEStrue в блоке.

    Обсуждение

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

    Прямоугольники фрагмента строки всегда находятся в контейнерных координатах.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Этот метод является примитивом для glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:. Необходимо всегда вызывать основной метод, не примитивы.

    Объявление

    Swift

    func fractionOfDistanceThroughGlyphForPoint(_ point: CGPoint, inTextContainer container: NSTextContainer) -> CGFloat

    Objective C

    - (CGFloat)fractionOfDistanceThroughGlyphForPoint:(CGPoint)point inTextContainer:(NSTextContainer *)container

    Параметры

    point

    Точка, для которой можно возвратить дробное расстояние через базовый глиф в контейнерных координатах.

    container

    Контейнер, в котором размечается глиф.

    Возвращаемое значение

    Часть расстояния, через базовый глиф, point.

    Обсуждение

    Если поток глифа содержит глифы и «b» с шириной существа 13 точек и пользовательские щелчки по расположению 8 точек в, часть расстояния является 8/13, или 0.615. Если самый близкий глиф не лежит под point вообще (например, если point вне начала или конца строки), эта часть расстояния 0 или 1.

    Необходимо всегда вызывать основной метод, не примитивы, но можно переопределить этот примитивный метод.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Точки вставки возвратов оптом для данного фрагмента строки.

    Объявление

    Swift

    func getLineFragmentInsertionPointsForCharacterAtIndex(_ charIndex: Int, alternatePositions aFlag: Bool, inDisplayOrder dFlag: Bool, positions positions: UnsafeMutablePointer<CGFloat>, characterIndexes charIndexes: UnsafeMutablePointer<Int>) -> Int

    Objective C

    - (NSUInteger)getLineFragmentInsertionPointsForCharacterAtIndex:(NSUInteger)charIndex alternatePositions:(BOOL)aFlag inDisplayOrder:(BOOL)dFlag positions:(CGFloat *)positions characterIndexes:(NSUInteger *)charIndexes

    Параметры

    charIndex

    Индекс символа одного символа во фрагменте строки.

    aFlag

    Если YEStrue, альтернатива возвратов, а не основные, точки вставки.

    dFlag

    Если YEStrue, точки вставки возвратов в дисплее, а не логичный, порядок.

    positions

    На выводе указаны позиции точек вставки, в порядке.

    charIndexes

    На выводе, индексах символов, соответствующих возвращенным точкам вставки.

    Возвращаемое значение

    Число точек вставки возвратилось.

    Обсуждение

    Метод позволяет клиентам получать все точки вставки для фрагмента строки в одном вызове. Каждый указатель передал в, должен или быть NULL или иначе укажите на достаточную память для содержания стольких же элементов, сколько существуют точки вставки во фрагменте строки (который не может быть больше, чем число символов + 1). Возвращенные позиции указывают поперечное смещение относительно источника прямоугольника фрагмента строки. Внутреннее кэширование используется, чтобы гарантировать, что повторные вызовы к этому методу для того же фрагмента строки (возможно с отличающимися значениями для других параметров) не являются значительно более дорогими, чем единственный вызов.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Этот метод является примитивом для glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:. Необходимо всегда вызывать основной метод, не примитивы.

    Объявление

    Swift

    func glyphIndexForPoint(_ point: CGPoint, inTextContainer container: NSTextContainer) -> Int

    Objective C

    - (NSUInteger)glyphIndexForPoint:(CGPoint)point inTextContainer:(NSTextContainer *)container

    Параметры

    point

    Точка, для которой можно возвратить глиф в координатах container.

    container

    Контейнер, в котором размечается возвращенный глиф.

    Возвращаемое значение

    Индекс глифа, подпадающего под данную точку, выраженную в системе координат данного контейнера.

    Обсуждение

    Необходимо всегда вызывать основной метод, не примитив, но Вы могли бы переопределить этот примитивный метод.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает индекс глифа, подпадающего под данную точку, выраженную в системе координат данного контейнера.

    Объявление

    Swift

    func glyphIndexForPoint(_ point: CGPoint, inTextContainer container: NSTextContainer, fractionOfDistanceThroughGlyph partialFraction: UnsafeMutablePointer<CGFloat>) -> Int

    Objective C

    - (NSUInteger)glyphIndexForPoint:(CGPoint)point inTextContainer:(NSTextContainer *)container fractionOfDistanceThroughGlyph:(CGFloat *)partialFraction

    Параметры

    point

    Точка, для которой можно возвратить глиф в координатах container.

    container

    Контейнер, в котором размечается возвращенный глиф.

    partialFraction

    Если нет NULL, на выводе часть расстояния между расположением глифа возвратилась и расположение следующего глифа.

    Возвращаемое значение

    Индекс глифа, подпадающего под данную точку, выраженную в системе координат данного контейнера.

    Обсуждение

    Если никакой глиф не находится под point, самый близкий глиф возвращается, где самый близкий определяется согласно требованиям выбора мышью. Клиенты, хотящие определить, находится ли точка фактически в границах глифа, возвратились, должен следовать за этим с вызовом к boundingRectForGlyphRange:inTextContainer: и тест, падает ли точка в прямоугольнике, возвращенном тем методом. Если partialFraction не-NULL, это возвращается ссылкой, которую часть расстояния между расположением глифа возвратила и расположение следующего глифа.

    В целях, таких как вытаскивание выбора или размещение точки вставки, частичный процент, меньше чем или равный 0,5, указывает это point должен быть рассмотрен как падающий, прежде чем возвратился индекс глифа; частичный процент, больше, чем 0,5, указывает, что это нужно рассмотреть как падающий после того, как возвратился индекс глифа. Если самый близкий глиф не лежит под point вообще (например, если point вне начала или конца строки), это отношение 0 или 1.

    Если поток глифа содержит глифы и «b» с шириной существа 13 точек и пользовательские щелчки по расположению 8 точек в, partialFraction 8/13, или 0.615. В этом случае данный вопрос должен быть рассмотрен как падающий между и «b» в целях, таких как вытаскивание выбора или размещение точки вставки.

    Выполняет генерацию глифа и расположение в случае необходимости.

    Как часть его реализации, это вызовы метода fractionOfDistanceThroughGlyphForPoint:inTextContainer: и glyphIndexForPoint:inTextContainer:. Для изменения поведения этого метода переопределите те два метода вместо этого.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает самый маленький непрерывный диапазон для глифов, размечающихся полно или частичный в данном прямоугольнике в данном текстовом контейнере.

    Объявление

    Swift

    func glyphRangeForBoundingRect(_ bounds: CGRect, inTextContainer container: NSTextContainer) -> NSRange

    Objective C

    - (NSRange)glyphRangeForBoundingRect:(CGRect)bounds inTextContainer:(NSTextContainer *)container

    Параметры

    bounds

    Ограничительный прямоугольник, для которого можно возвратить глифы.

    container

    Текстовый контейнер, в котором размечаются глифы.

    Возвращаемое значение

    Диапазон глифов, которые должны были бы быть выведены на экран для рисования всех глифов, падающих (даже частично) в данном ограничительном прямоугольнике. Диапазон возвратился, может включать глифы, не падающие внутри или пересекающиеся bounds, несмотря на то, что первые и последние глифы в диапазоне всегда делают. Самое большее этот метод возвращает диапазон глифа для целого контейнера.

    Обсуждение

    Этот метод используется для определения, какие глифы должны быть выведены на экран в данном прямоугольнике.

    Выполняет генерацию глифа и расположение в случае необходимости. Ограничительные прямоугольники всегда находятся в контейнерных координатах.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает самый маленький непрерывный диапазон для глифов, размечающихся полно или частичный в данном прямоугольнике в данном текстовом контейнере.

    Объявление

    Swift

    func glyphRangeForBoundingRectWithoutAdditionalLayout(_ bounds: CGRect, inTextContainer container: NSTextContainer) -> NSRange

    Objective C

    - (NSRange)glyphRangeForBoundingRectWithoutAdditionalLayout:(CGRect)bounds inTextContainer:(NSTextContainer *)container

    Параметры

    bounds

    Ограничительный прямоугольник, для которого можно возвратить глифы.

    container

    Текстовый контейнер, в котором размечаются глифы.

    Возвращаемое значение

    Диапазон глифов, которые должны были бы быть выведены на экран для рисования всех глифов, падающих (даже частично) в данном ограничительном прямоугольнике. Диапазон возвратился, может включать глифы, не падающие внутри или пересекающиеся bounds, несмотря на то, что первые и последние глифы в диапазоне всегда делают. Самое большее этот метод возвращает диапазон глифа для целого контейнера.

    Обсуждение

    В отличие от этого glyphRangeForBoundingRect:inTextContainer:, этот вариант метода не выполняет генерацию глифа или расположение. Его результаты, хотя быстрее, могут быть неправильными. Этот метод прежде всего для использования текстовыми представлениями; необходимо редко должны быть использовать его сами.

    Ограничительные прямоугольники всегда находятся в контейнерных координатах.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает диапазон глифов, сгенерированных от символов в данном диапазоне символов.

    Объявление

    Swift

    func glyphRangeForCharacterRange(_ charRange: NSRange, actualCharacterRange actualCharRange: NSRangePointer) -> NSRange

    Objective C

    - (NSRange)glyphRangeForCharacterRange:(NSRange)charRange actualCharacterRange:(NSRangePointer)actualCharRange

    Параметры

    charRange

    Диапазон символов, для которого можно возвратить сгенерированный диапазон глифа.

    actualCharRange

    Если нет NULL, на выводе, точках к фактическому диапазону символов, полностью определяющих возвращенный диапазон глифа. Этот диапазон может быть идентичным или немного больше, чем требуемый диапазон символов. Например, если текстовое хранение содержит символы»O«и»¨“, и хранилище глифа содержит единственный предсоставленный глиф» ¨Ö”, и если charRange включает только первый или второй символ, тогда actualCharRange установлен включить оба символа.

    Возвращаемое значение

    Диапазон глифов, сгенерированных charRange.

    Обсуждение

    Если длина charRange 0, получающийся диапазон глифа является диапазоном нулевой длины сразу после глифа (ов), соответствующего предшествующему символу, и actualCharRange также будет нулевая длина. Если charRange расширяется вне текстовой длины, метод усекает результат к числу глифов в тексте.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Возвращает диапазон глифов, размеченных в данном текстовом контейнере.

    Объявление

    Swift

    func glyphRangeForTextContainer(_ container: NSTextContainer) -> NSRange

    Objective C

    - (NSRange)glyphRangeForTextContainer:(NSTextContainer *)container

    Параметры

    container

    Текстовый контейнер, в котором размечаются глифы.

    Возвращаемое значение

    Диапазон глифов размечается в данном текстовом контейнере.

    Обсуждение

    Это - менее эффективный метод, чем подобное textContainerForGlyphAtIndex:effectiveRange:.

    Выполняет генерацию глифа и расположение в случае необходимости.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

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

    Объявление

    Swift

    func rangeOfNominallySpacedGlyphsContainingIndex(_ glyphIndex: Int) -> NSRange

    Objective C

    - (NSRange)rangeOfNominallySpacedGlyphsContainingIndex:(NSUInteger)glyphIndex

    Параметры

    glyphIndex

    Индекс глифа для тестирования.

    Возвращаемое значение

    Диапазон номинально расположенных с интервалами глифов.

    Обсуждение

    Диапазон возвратился, начинается с первого глифа, рассчитывая назад от glyphIndex, этому установили расположение, и оно продолжается до, но не включает, следующий глиф, которому установили расположение.

    Выполняет генерацию глифа и расположение в случае необходимости.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Рисует фоновые метки данного диапазона глифа, который должен лечь полностью в единственном текстовом контейнере.

    Объявление

    Swift

    func drawBackgroundForGlyphRange(_ glyphsToShow: NSRange, atPoint origin: CGPoint)

    Objective C

    - (void)drawBackgroundForGlyphRange:(NSRange)glyphsToShow atPoint:(CGPoint)origin

    Параметры

    glyphsToShow

    Диапазон глифов, для которых нарисован фон.

    origin

    Позиция текстового контейнера в системе координат в настоящее время фокусируемого представления.

    Обсуждение

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

    Фоновые метки являются такими вещами как выделение выбора, цвет фона текста и любой фон для отмеченного текста, вместе с блочным художественным оформлением, такими как табличные фоны и границы.

    Выполняет генерацию глифа и расположение в случае необходимости.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Рисует глифы в данном диапазоне глифа, который должен лечь полностью в единственном текстовом контейнере.

    Объявление

    Swift

    func drawGlyphsForGlyphRange(_ glyphsToShow: NSRange, atPoint origin: CGPoint)

    Objective C

    - (void)drawGlyphsForGlyphRange:(NSRange)glyphsToShow atPoint:(CGPoint)origin

    Параметры

    glyphsToShow

    Диапазон нарисованных глифов.

    origin

    Позиция текстового контейнера в системе координат в настоящее время фокусируемого представления.

    Обсуждение

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

    Этот метод рисует фактические глифы, включая присоединения, а также любые подчеркивания или strikethoughs.

    Выполняет генерацию глифа и расположение в случае необходимости.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Рисует перечеркивание для глифов в данном диапазоне.

    Объявление

    Swift

    func drawStrikethroughForGlyphRange(_ glyphRange: NSRange, strikethroughType strikethroughVal: NSUnderlineStyle, baselineOffset baselineOffset: CGFloat, lineFragmentRect lineRect: CGRect, lineFragmentGlyphRange lineGlyphRange: NSRange, containerOrigin containerOrigin: CGPoint)

    Objective C

    - (void)drawStrikethroughForGlyphRange:(NSRange)glyphRange strikethroughType:(NSUnderlineStyle)strikethroughVal baselineOffset:(CGFloat)baselineOffset lineFragmentRect:(CGRect)lineRect lineFragmentGlyphRange:(NSRange)lineGlyphRange containerOrigin:(CGPoint)containerOrigin

    Параметры

    glyphRange

    Диапазон глифов, для которых можно нарисовать перечеркивание. Диапазон должен принадлежать однострочному прямоугольнику фрагмента (как возвращено lineFragmentRectForGlyphAtIndex:effectiveRange:).

    strikethroughVal

    Стиль перечеркивания для рисования. Это значение является маской, полученной из значения для NSUnderlineStyleAttributeName— например, (NSUnderlinePatternDash | NSUnderlineStyleThick). Подклассы могут определить пользовательские перечеркнутые стили.

    baselineOffset

    Указывает, как далеко выше текстовой базовой линии должно быть нарисовано подчеркивание.

    lineRect

    Прямоугольник фрагмента строки, содержащий глифы для рисования перечеркивание для.

    lineGlyphRange

    Диапазон всех глифов в lineRect.

    containerOrigin

    Источник прямоугольника фрагмента строки NSTextContainer в NSTextView.

    Обсуждение

    Этот метод вызывается автоматически strikethroughGlyphRange:strikethroughType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:; необходимо редко должны быть вызвать его непосредственно. Этот метод strikethroughVal параметр не принимает во внимание установку дляNSUnderlineByWordMask потому что это заботилось о underlineGlyphRange:underlineType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Рисует подчеркивание для глифов в данном диапазоне.

    Объявление

    Swift

    func drawUnderlineForGlyphRange(_ glyphRange: NSRange, underlineType underlineVal: NSUnderlineStyle, baselineOffset baselineOffset: CGFloat, lineFragmentRect lineRect: CGRect, lineFragmentGlyphRange lineGlyphRange: NSRange, containerOrigin containerOrigin: CGPoint)

    Objective C

    - (void)drawUnderlineForGlyphRange:(NSRange)glyphRange underlineType:(NSUnderlineStyle)underlineVal baselineOffset:(CGFloat)baselineOffset lineFragmentRect:(CGRect)lineRect lineFragmentGlyphRange:(NSRange)lineGlyphRange containerOrigin:(CGPoint)containerOrigin

    Параметры

    glyphRange

    Диапазон глифов, которые должны принадлежать однострочному прямоугольнику фрагмента (как возвращено lineFragmentRectForGlyphAtIndex:effectiveRange:).

    underlineVal

    Стиль подчеркивания для рисования. Это значение является маской, полученной из значения для NSUnderlineStyleAttributeName— например, (NSUnderlinePatternDash | NSUnderlineStyleThick). Подклассы могут определить пользовательские стили подчеркивания.

    baselineOffset

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

    lineRect

    Прямоугольник фрагмента строки, содержащий глифы для рисования подчеркивание для.

    lineGlyphRange

    Диапазон всех глифов в lineRect.

    containerOrigin

    Источник NSTextContainer объектный содержащий lineRect, в тексте просматривают координаты.

    Обсуждение

    Этот метод вызывается автоматически underlineGlyphRange:underlineType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:; необходимо редко должны быть вызвать его непосредственно. Этот метод underlineVal параметр не принимает во внимание установку дляNSUnderlineByWordMask потому что это заботилось о underlineGlyphRange:underlineType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:.

    Этот метод фактически рисует надлежащее подчеркивание для данного диапазона глифа, тогда как underlineGlyphRange:underlineType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin: потенциально повреждает диапазон, который это дано в поддиапазоны и вызывает этот метод для диапазонов, которым нужно фактически нарисовать подчеркивание. Таким образом менеджер по расположению может избежать подчеркивать продвижение и запаздывающий пробел на строке. Кроме того, если underlineType параметр указывает, что только слова — никакой пробел — не должен быть подчеркнут, тогда underlineGlyphRange:underlineType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin: только дает слово диапазоны этому методу.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Фоновые прямоугольники заливок с цветом.

    Объявление

    Swift

    func fillBackgroundRectArray(_ rectArray: UnsafePointer<CGRect>, count rectCount: Int, forCharacterRange charRange: NSRange, color color: UIColor)

    Objective C

    - (void)fillBackgroundRectArray:(const CGRect *)rectArray count:(NSUInteger)rectCount forCharacterRange:(NSRange)charRange color:(UIColor *)color

    Параметры

    rectArray

    Массив прямоугольников для заполнения.

    rectCount

    Число прямоугольников в rectArray.

    charRange

    Диапазон символов, фоновые прямоугольники которых заполнены.

    color

    Цвет заливки.

    Обсуждение

    Это - примитивный метод, используемый drawBackgroundForGlyphRange:atPoint:, обеспечение переопределения с более прекрасными зернами указывает для того, чтобы фактически заполнить прямоугольники определенным цветом фона для атрибута цвета фона, выбранного или отмеченного выделения диапазона, блочного художественного оформления или любой другой прямоугольной заливки, необходимой тому методу. Как с showCGGlyphs:positions:count:font:matrix:attributes:inContext:, диапазон символов и цвет просто для информационных целей; цвет будет уже выбран в состоянии графики. По какой-либо причине при изменении его необходимо восстановить его прежде, чем возвратиться из этого метода.

    Этот метод работает с точки зрения диапазонов символов, потому что соответствующие атрибуты выражены на символах, и они не всегда лежат на границах глифа — например, когда выделяется один символ «fi» лигатуры.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Представляет глифы в указанных позициях и атрибутах в данный графический контекст.

    Объявление

    Swift

    func showCGGlyphs(_ glyphs: UnsafePointer<CGGlyph>, positions positions: UnsafePointer<CGPoint>, count glyphCount: Int, font font: UIFont, matrix textMatrix: CGAffineTransform, attributes attributes: [NSObject : AnyObject]?, inContext graphicsContext: CGContext?)

    Objective C

    - (void)showCGGlyphs:(const CGGlyph *)glyphs positions:(const CGPoint *)positions count:(NSUInteger)glyphCount font:(UIFont *)font matrix:(CGAffineTransform)textMatrix attributes:(NSDictionary *)attributes inContext:(CGContextRef)graphicsContext

    Параметры

    glyphs

    Глифы для рисования; может содержать встроенный NULL байты.

    positions

    Позиции, в которых можно нарисовать глифы. В системе координат пространства пользователя.

    glyphCount

    Число глифов.

    font

    Шрифт применился к состоянию графики. Это значение может отличаться от NSFontAttributeName значение в attributes параметр из-за различных замен шрифтов, что автоматически выполняется система.

    textMatrix

    Аффинное преобразование, отображающее систему координат текстового пространства на систему координат пространства пользователя. tx и ty компоненты textMatrix проигнорированы, так как Кварц переопределяет их с позициями глифа.

    attributes

    Словарь атрибутов глифа.

    graphicsContext

    Если не -nil, graphicsContext уже сконфигурирован согласно текстовым параметрам атрибутов: font, textMatrix, и attributes.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Вычисляет и рисует перечеркивание для глифов в данном диапазоне.

    Объявление

    Swift

    func strikethroughGlyphRange(_ glyphRange: NSRange, strikethroughType strikethroughVal: NSUnderlineStyle, lineFragmentRect lineRect: CGRect, lineFragmentGlyphRange lineGlyphRange: NSRange, containerOrigin containerOrigin: CGPoint)

    Objective C

    - (void)strikethroughGlyphRange:(NSRange)glyphRange strikethroughType:(NSUnderlineStyle)strikethroughVal lineFragmentRect:(CGRect)lineRect lineFragmentGlyphRange:(NSRange)lineGlyphRange containerOrigin:(CGPoint)containerOrigin

    Параметры

    glyphRange

    Диапазон глифов, для которых можно нарисовать перечеркивание. Диапазон должен принадлежать однострочному прямоугольнику фрагмента (как возвращено lineFragmentRectForGlyphAtIndex:effectiveRange:).

    strikethroughVal

    Стиль подчеркивания для рисования. Это значение является маской, полученной из значения для NSUnderlineStyleAttributeName— например, (NSUnderlinePatternDash | NSUnderlineStyleThick | NSUnderlineByWordMask). Подклассы могут определить пользовательские стили подчеркивания.

    lineRect

    Прямоугольник фрагмента строки, содержащий глифы для рисования перечеркивание для.

    lineGlyphRange

    Диапазон всех глифов в lineRect.

    containerOrigin

    Источник прямоугольника фрагмента строки NSTextContainer в NSTextView.

    Обсуждение

    Этот метод определяет, на основе которого глифам фактически нужно было нарисовать перечеркивание strikethroughVal. После определения, какие глифы натянуть перечеркивание, этот метод вызывает drawStrikethroughForGlyphRange:strikethroughType:baselineOffset:lineFragmentRect:lineFragmentGlyphRange:containerOrigin: для каждого непрерывного диапазона глифов, требующего его.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Вычисляет поддиапазоны, которые будут подчеркнуты для глифов в данном диапазоне, и рисует подчеркивание как надлежащее.

    Объявление

    Swift

    func underlineGlyphRange(_ glyphRange: NSRange, underlineType underlineVal: NSUnderlineStyle, lineFragmentRect lineRect: CGRect, lineFragmentGlyphRange lineGlyphRange: NSRange, containerOrigin containerOrigin: CGPoint)

    Objective C

    - (void)underlineGlyphRange:(NSRange)glyphRange underlineType:(NSUnderlineStyle)underlineVal lineFragmentRect:(CGRect)lineRect lineFragmentGlyphRange:(NSRange)lineGlyphRange containerOrigin:(CGPoint)containerOrigin

    Параметры

    glyphRange

    Диапазон глифов, которые должны принадлежать однострочному прямоугольнику фрагмента (как возвращено lineFragmentRectForGlyphAtIndex:effectiveRange:).

    underlineVal

    Стиль подчеркивания для рисования. Это значение является маской, полученной из значения для NSUnderlineStyleAttributeName, например, (NSUnderlinePatternDash | NSUnderlineStyleThick | NSUnderlineByWordMask). Подклассы могут определить пользовательские стили подчеркивания.

    lineRect

    Прямоугольник фрагмента строки, содержащий глифы для рисования подчеркивание для.

    lineGlyphRange

    Диапазон всех глифов в том прямоугольнике фрагмента строки.

    containerOrigin

    Источник прямоугольника фрагмента строки NSTextContainer, в тексте просматривают координаты.

    Обсуждение

    Этот метод определяет, на основе которого фактически должны быть подчеркнуты глифы underlineVal. С NSUnderlineStyleSingle, например, ведя и запаздывая пробел не подчеркивается, но пробел между видимыми глифами. NSUnderlineByWord стиль опускает подчеркивать на любом пробеле. После определения, какие глифы натянуть подчеркивание, этот метод вызывает drawUnderlineForGlyphRange:underlineType:baselineOffset:lineFragmentRect:lineFragmentGlyphRange:containerOrigin: для каждого непрерывного диапазона глифов, требующего его.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Описывает текстовую ориентацию макета.

    Объявление

    Swift

    enum NSTextLayoutOrientation : Int { case Horizontal case Vertical }

    Objective C

    enum { NSTextLayoutOrientationHorizontal = 0, NSTextLayoutOrientationVertical = 1, }; typedef NSInteger NSTextLayoutOrientation;

    Константы

    • Horizontal

      NSTextLayoutOrientationHorizontal

      Строки, представленные горизонтально, расширяясь сверху донизу

      Доступный в iOS 7.0 и позже.

    • Vertical

      NSTextLayoutOrientationVertical

      Строки, представленные вертикально, расширяясь справа налево

      Доступный в iOS 7.0 и позже.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Описывает свойства глифа.

    Объявление

    Swift

    enum NSGlyphProperty : Int { case Null case ControlCharacter case Elastic case NonBaseCharacter }

    Objective C

    enum { NSGlyphPropertyNull = (1 << 0), NSGlyphPropertyControlCharacter = (1 << 1), NSGlyphPropertyElastic = (1 << 2), NSGlyphPropertyNonBaseCharacter = (1 << 3) }; typedef NSInteger NSGlyphProperty;

    Константы

    • Null

      NSGlyphPropertyNull

      Нулевой глиф, проигнорированный для расположения и дисплея.

      Доступный в iOS 7.0 и позже.

    • ControlCharacter

      NSGlyphPropertyControlCharacter

      Управляющий символ, такой как вкладка, присоединение, и т.д., который связал специальное поведение.

      Доступный в iOS 7.0 и позже.

    • Elastic

      NSGlyphPropertyElastic

      Глифы с эластичным поведением ширины глифа, такие как пробел.

      Доступный в iOS 7.0 и позже.

    • NonBaseCharacter

      NSGlyphPropertyNonBaseCharacter

      Глифы с объединяющимися свойствами, обычно символы в классе Mn Unicode.

      Доступный в iOS 7.0 и позже.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Описывает управляющие символы действий, может вызвать.

    Объявление

    Swift

    enum NSControlCharacterAction : Int { case ZeroAdvancementAction case WhitespaceAction case HorizontalTabAction case LineBreakAction case ParagraphBreakAction case ContainerBreakAction }

    Objective C

    { NSControlCharacterZeroAdvancementAction = (1 << 0), NSControlCharacterWhitespaceAction = (1 << 1), NSControlCharacterHorizontalTabAction = (1 << 2), NSControlCharacterLineBreakAction = (1 << 3), NSControlCharacterParagraphBreakAction = (1 << 4), NSControlCharacterContainerBreakAction = (1 << 5) }; typedef NSInteger NSControlCharacterAction;

    Константы

    • ZeroAdvancementAction

      NSControlCharacterZeroAdvancementAction

      Глифы с этим действием отфильтрованы из расположения (notShownAttributeForGlyphAtIndex: == YES для глифа).

      Доступный в iOS 7.0 и позже.

    • WhitespaceAction

      NSControlCharacterWhitespaceAction

      Ширина для глифа с этим действием определяется методом делегата layoutManager:boundingBoxForControlGlyphAtIndex:forTextContainer:proposedLineFragment:glyphPosition:characterIndex: если реализован метод; иначе, то же как NSControlCharacterZeroAdvancementAction.

      Доступный в iOS 7.0 и позже.

    • HorizontalTabAction

      NSControlCharacterHorizontalTabAction

      Обработанный как символ табуляции.

      Доступный в iOS 7.0 и позже.

    • LineBreakAction

      NSControlCharacterLineBreakAction

      Вызывает разрыв строки.

      Доступный в iOS 7.0 и позже.

    • ParagraphBreakAction

      NSControlCharacterParagraphBreakAction

      Вызывает конец абзаца; firstLineHeadIndent используется для следующего глифа.

      Доступный в iOS 7.0 и позже.

    • ContainerBreakAction

      NSControlCharacterContainerBreakAction

      Повреждение контейнера причин.

      Доступный в iOS 7.0 и позже.

    Обсуждение

    Эти константы используются layoutManager:shouldUseAction:forControlCharacterAtIndex: метод делегата.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.