NSLayoutManager
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSObjectProtocol
-
Печатаемый
-
NSCoding
-
NSObject
Оператор импорта
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, atIndexindex
: 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?, forGlyphRangeglyphRange
: 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, effectiveRangeeffectiveGlyphRange
: 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) -> CGRectObjective 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
Обсуждение
Если
YES
true
, тогда менеджер по расположению может выполнить генерацию глифа и расположение для данной части текста, не имея глифов или расположения для предшествования частям. Свойство позволяет, но не требует, менеджер по расположению для использования расположения состоящего из нескольких несмежных участков, и менеджер по расположению может не сделать так, в зависимости от его конфигурации. Значение по умолчаниюNO
false
.Установка этого свойства к
YES
true
значительно изменяется, какие части текста имеют генерацию глифа или расположение, выполняемое, когда вызывается данный вызывающий генерацию метод. Это также дает значительные выигрыши в производительности, специально для больших документов.Оператор импорта
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
Обсуждение
Если
YES
true
, получатель заменяет видимыми глифами управляющие символы, если шрифт и сценарий поддерживают его; еслиNO
false
, это не делает. Значение по умолчаниюNO
false
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
showsInvisibleCharacters
СвойствоУказывает, заменить ли видимыми глифами пробел и другие обычно невидимые символы в расположении.
Объявление
Swift
var showsInvisibleCharacters: Bool
Objective C
@property(nonatomic) BOOL showsInvisibleCharacters
Обсуждение
Если
YES
true
, получатель заменяет видимыми глифами невидимые символы, если шрифт и сценарий поддерживают его; еслиNO
false
, это не делает. Значение по умолчаниюNO
false
.Оператор импорта
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 и позже.
-
invalidateGlyphsForCharacterRange (_: changeInLength:actualCharacterRange:) - invalidateGlyphsForCharacterRange:changeInLength:actualCharacterRange:
Лишает законной силы кэшируемые глифы для символов в данном диапазоне символов, корректирует индексы символа всех последующих глифов изменением в длине и лишает законной силы новый диапазон символов.
Объявление
Swift
func invalidateGlyphsForCharacterRange(_
charRange
: NSRange, changeInLengthdelta
: Int, actualCharacterRangeactualCharRange
: 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 и позже.
-
invalidateLayoutForCharacterRange (_: actualCharacterRange:) - invalidateLayoutForCharacterRange:actualCharacterRange:
Лишает законной силы информацию макета для глифов, отображенных на данном диапазоне символов.
Объявление
Swift
func invalidateLayoutForCharacterRange(_
charRange
: NSRange, actualCharacterRangeactualCharRange
: NSRangePointer)Objective C
- (void)invalidateLayoutForCharacterRange:(NSRange)
charRange
actualCharacterRange:(NSRangePointer)actualCharRange
Параметры
charRange
Диапазон символов для лишения законной силы.
actualCharRange
Если нет
NULL
, на выводе, фактический диапазон, лишенный законной силы после любого необходимого расширения.Обсуждение
Этот метод только лишает законной силы информацию; это не выполняет генерации глифа или расположения. Необходимо редко должны быть вызвать этот метод.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
processEditingForTextStorage (_: edited:range:changeInLength:invalidatedRange:) - processEditingForTextStorage:edited:range:changeInLength:invalidatedRange:
Отправленный от
NSTextStorage
методprocessEditing
уведомлять менеджера по расположению относительно действия редактирования.Объявление
Swift
func processEditingForTextStorage(_
textStorage
: NSTextStorage, editededitMask
: NSTextStorageEditActions, rangenewCharRange
: NSRange, changeInLengthdelta
: Int, invalidatedRangeinvalidatedCharRange
: 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, inTextContainercontainer
: 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 и позже.
-
setGlyphs (_: properties:characterIndexes:font:forGlyphRange:) - setGlyphs:properties:characterIndexes:font:forGlyphRange:
Хранит начальные глифы и свойства глифа для диапазона символов.
Объявление
Swift
func setGlyphs(_
glyphs
: UnsafePointer<CGGlyph>, propertiesprops
: UnsafePointer<NSGlyphProperty>, characterIndexescharIndexes
: UnsafePointer<Int>, fontaFont
: UIFont?, forGlyphRangeglyphRange
: 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 и позже.
-
Возвращает индекс в текстовом хранении для первого символа, связанного с данным глифом.
Объявление
Objective C
- (NSUInteger)characterIndexForGlyphAtIndex:(NSUInteger)
glyphIndex
Параметры
glyphIndex
Индекс глифа, для которого можно возвратить связанный символ.
Возвращаемое значение
Индекс первого символа связался с глифом в указанном индексе.
Обсуждение
Если расположение состоящее из нескольких несмежных участков не включено, этот метод вызывает генерацию всех глифов до и включая
glyphIndex
. Этот метод принимает индекс вне последнего глифа, возвращая индекс, экстраполируемый от последнего фактического индекса глифа.Во многих случаях лучше использовать отображающие диапазон методы,
characterRangeForGlyphRange:actualGlyphRange:
иglyphRangeForCharacterRange:actualCharacterRange:
, которые предоставляют более исчерпывающую информацию.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
getGlyphsInRange (_: glyphs:properties:characterIndexes:bidiLevels:) - getGlyphsInRange:glyphs:properties:characterIndexes:bidiLevels:
Заполняет переданный - в буфере с последовательностью глифов.
Объявление
Swift
func getGlyphsInRange(_
glyphRange
: NSRange, glyphsglyphBuffer
: UnsafeMutablePointer<CGGlyph>, propertiesprops
: UnsafeMutablePointer<NSGlyphProperty>, characterIndexescharIndexBuffer
: UnsafeMutablePointer<Int>, bidiLevelsbidiLevelBuffer
: UnsafeMutablePointer<UInt8>) -> IntObjective 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 и позже.
-
Возвращает глиф в данном индексе глифа.
Объявление
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, isValidIndexisValidIndex
: UnsafeMutablePointer<ObjCBool>) -> CGGlyphObjective C
- (CGGlyph)glyphAtIndex:(NSUInteger)
glyphIndex
isValidIndex:(BOOL *)isValidIndex
Параметры
glyphIndex
Индекс глифа, который будет возвращен.
isValidIndex
Если нет
NULL
, на выводе,YES
true
если требуемый индекс находится в диапазоне; иначеNO
false
.Возвращаемое значение
Глиф в требуемом индексе, или
NSNullGlyph
если требуемый индекс вне диапазона{0,
numberOfGlyphs
}
.Обсуждение
Если расположение состоящее из нескольких несмежных участков не включено, этот метод вызывает генерацию всех глифов до и включая
glyphIndex
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Возвращает индекс первого глифа, связанного с символом в указанном индексе.
Объявление
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) -> BoolObjective C
- (BOOL)isValidGlyphIndex:(NSUInteger)
glyphIndex
Параметры
glyphIndex
Индекс глифа в получателе.
Возвращаемое значение
YES
true
если указанноеglyphIndex
относится к допустимому глифу, иначеNO
false
.Оператор импорта
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) -> NSGlyphPropertyObjective C
- (NSGlyphProperty)propertyForGlyphAtIndex:(NSUInteger)
glyphIndex
Параметры
glyphIndex
Глиф, свойство глифа которого возвращается.
Возвращаемое значение
Свойство глифа связалось с указанным глифом. NSGlyphProperty перечисляет значения, которые могут быть возвращены.
Обсуждение
Если расположение состоящее из нескольких несмежных участков не включено, этот метод вызывает генерацию всех глифов до и включая тот в
glyphIndex
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Устанавливает размер, в котором данный глиф (предполагаемый быть присоединением) просят нарисовать в данном диапазоне глифа.
Объявление
Параметры
attachmentSize
Размер глифа для установки.
glyphRange
Присоединяемая позиция глифа в потоке глифа.
Обсуждение
Для глифа, соответствующего присоединению, этот метод нужно вызвать для установки размера для присоединяемой ячейки для занятия. Значение глифа должно быть
NSControlGlyph
.Этот метод используется механизмом создания макета и должен быть вызван только во время набора в почти всех случаях только менеджером по расположению. Например, менеджер по пользовательскому макету мог бы вызвать его.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Указывает, превышает ли данный глиф границы фрагмента строки, где это размечается.
Объявление
Swift
func setDrawsOutsideLineFragment(_
flag
: Bool, forGlyphAtIndexglyphIndex
: Int)Objective C
- (void)setDrawsOutsideLineFragment:(BOOL)
flag
forGlyphAtIndex:(NSUInteger)glyphIndex
Параметры
flag
Если
YES
true
, устанавливает данный глиф для рисования вне его фрагмента строки; еслиNO
false
, глиф не рисует снаружи.glyphIndex
Индекс глифа для установки.
Обсуждение
Когда текст установлен на фиксированной высоте строки, это может произойти. Например, если пользователь укажет фиксированную высоту строки 12 точек и установит размер шрифта в 24 точки, то глифы превысят свои прямоугольники расположения. Эта информация важна для определения, должны ли дополнительные строки быть перерисованы в результате изменений в каком-либо данном фрагменте строки.
Этот метод используется механизмом создания макета и должен быть вызван только во время набора в почти всех случаях только менеджером по расположению. Например, менеджер по пользовательскому макету мог бы вызвать его.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
setExtraLineFragmentRect (_: usedRect:textContainer:) - setExtraLineFragmentRect:usedRect:textContainer:
Устанавливает границы и контейнер для дополнительного фрагмента строки.
Объявление
Swift
func setExtraLineFragmentRect(_
fragmentRect
: CGRect, usedRectusedRect
: CGRect, textContainercontainer
: 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 и позже.
-
Связывает данные границы фрагмента строки с данным диапазоном глифов.
Объявление
Параметры
fragmentRect
Прямоугольник фрагмента строки.
glyphRange
Диапазон глифов, которые будут связаны с
fragmentRect
.usedRect
Часть
fragmentRect
это фактически содержит глифы или другие метки, нарисованные (включая текстовое дополнение фрагмента строки контейнера. Должно быть равно или содержавший вfragmentRect
.Обсуждение
Менеджер по расположению должен указать текстовый контейнер сначала с
setTextContainer:forGlyphRange:
, и это устанавливает точные позиции глифов впоследствии сsetLocation:forStartOfGlyphRange:
.В ходе расположения все глифы должны закончить тем, что были включены в диапазон, переданный этому методу, но только глифы, запускающие фрагмент новой строки, должны быть в начале таких диапазонов.
Прямоугольники фрагмента строки и используемые прямоугольники фрагмента строки всегда находятся в контейнерных координатах.
Этот метод используется механизмом создания макета и должен быть вызван только во время набора в почти всех случаях только менеджером по расположению. Например, менеджер по пользовательскому макету мог бы вызвать его.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Устанавливает расположение для первого глифа данного диапазона.
Объявление
Параметры
location
Расположение, в которое первый глиф установлен относительно источника источника фрагмента строки глифа.
glyphRange
Глифы, расположение которых установлено.
Обсуждение
Установка расположения для диапазона глифа подразумевает, что его первый глиф номинально не расположен с интервалами относительно предыдущего глифа. В ходе расположения все глифы должны закончить тем, что были включены в диапазон, переданный этому методу, но только глифы, запускающие новый номинальный диапазон, должны быть в начале таких диапазонов. Первый глиф во фрагменте строки должен всегда запускать новый номинальный диапазон. Расположения глифа даны относительно их источника прямоугольника фрагмента строки.
Прежде, чем установить расположение для диапазона глифа, необходимо указать текстовый контейнер с
setTextContainer:forGlyphRange:
и прямоугольник фрагмента строки сsetLineFragmentRect:forGlyphRange:usedRect:
.Этот метод используется механизмом создания макета и должен быть вызван только во время набора в почти всех случаях только менеджером по расположению. Например, менеджер по пользовательскому макету мог бы вызвать его.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Устанавливает глиф в данном индексе, чтобы быть непоказанным тем.
Объявление
Swift
func setNotShownAttribute(_
flag
: Bool, forGlyphAtIndexglyphIndex
: Int)Objective C
- (void)setNotShownAttribute:(BOOL)
flag
forGlyphAtIndex:(NSUInteger)glyphIndex
Параметры
flag
Если
YES
true
, глиф не показан; еслиNO
false
, это показано.glyphIndex
Индекс глифа, атрибут которого установлен.
Обсуждение
Менеджер по расположению решает, какие глифы не показаны, и устанавливает этот атрибут, чтобы гарантировать, что те глифы не выведены на экран. Например, символ табуляции или символ новой строки не оставляют меток; это просто указывает, где размечаются следующие глифы.
Повышения
NSRangeException
еслиglyphIndex
выходит за пределы.Этот метод используется механизмом создания макета и должен быть вызван только во время набора в почти всех случаях только менеджером по расположению. Например, менеджер по пользовательскому макету мог бы вызвать его.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Для глифа, соответствующего присоединению, возвращает размер для присоединяемой ячейки для занятия.
Объявление
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) -> BoolObjective C
- (BOOL)drawsOutsideLineFragmentForGlyphAtIndex:(NSUInteger)
glyphIndex
Параметры
glyphIndex
Индекс глифа.
Возвращаемое значение
YES
true
если глиф вglyphIndex
превышает границы фрагмента строки, где он размечается; иначеNO
false
.Обсуждение
Когда текст установлен на фиксированной высоте строки, превышение границ может произойти. Например, если пользователь укажет фиксированную высоту строки 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 и позже.
-
extraLineFragmentTextContainer
СвойствоТекстовый контейнер, содержащий дополнительный прямоугольник фрагмента строки. (только для чтения)
Объявление
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>, glyphIndexglyphIndex
: 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 и позже.
-
lineFragmentRectForGlyphAtIndex (_: effectiveRange:) - lineFragmentRectForGlyphAtIndex:effectiveRange:
Возвращает прямоугольник для фрагмента строки, в котором данный глиф размечается и (дополнительно), ссылкой, целым диапазоном глифов, которые находятся в том фрагменте.
Объявление
Swift
func lineFragmentRectForGlyphAtIndex(_
glyphIndex
: Int, effectiveRangeeffectiveGlyphRange
: NSRangePointer) -> CGRectObjective C
- (CGRect)lineFragmentRectForGlyphAtIndex:(NSUInteger)
glyphIndex
effectiveRange:(NSRangePointer)effectiveGlyphRange
Параметры
glyphIndex
Глиф, для которого можно возвратить прямоугольник фрагмента строки.
effectiveGlyphRange
Если нет
NULL
, на выводе, диапазоне для всех глифов во фрагменте строки.Возвращаемое значение
Фрагмент строки, в котором размечается данный глиф.
Обсуждение
Если расположение состоящее из нескольких несмежных участков не включено для всего текста до и включая тот фрагмент строки, этот метод вызывает генерацию глифа и расположение для фрагмента строки, содержащего указанный глиф, или.
Прямоугольники фрагмента строки всегда находятся в контейнерных координатах.
Переопределение этого метода не рекомендуется. Если прямоугольник фрагмента строки должен быть изменен, который должен быть сделан путем вызова
setLineFragmentRect:forGlyphRange:usedRect:
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
lineFragmentUsedRectForGlyphAtIndex (_: effectiveRange:) - lineFragmentUsedRectForGlyphAtIndex:effectiveRange:
Возвращает прямоугольник использования для фрагмента строки, в котором данный глиф положен и (дополнительно) ссылкой целый диапазон глифов, которые находятся в том фрагменте.
Объявление
Swift
func lineFragmentUsedRectForGlyphAtIndex(_
glyphIndex
: Int, effectiveRangeeffectiveGlyphRange
: NSRangePointer) -> CGRectObjective C
- (CGRect)lineFragmentUsedRectForGlyphAtIndex:(NSUInteger)
glyphIndex
effectiveRange:(NSRangePointer)effectiveGlyphRange
Параметры
glyphIndex
Глиф, для которого можно возвратить фрагмент строки, использовал прямоугольник.
effectiveGlyphRange
Если нет
NULL
, на выводе, диапазоне для всех глифов во фрагменте строки.Возвращаемое значение
Используемый прямоугольник для фрагмента строки, в котором размечается данный глиф.
Обсуждение
Если расположение состоящее из нескольких несмежных участков не включено, до и включая тот фрагмент строки, этот метод вызывает генерацию глифа и расположение для фрагмента строки, содержащего указанный глиф, или.
Используемые прямоугольники фрагмента строки всегда находятся в контейнерных координатах.
Переопределение этого метода не рекомендуется. Если фрагмент строки использовал прямоугольные потребности, которые будут изменены, который должен быть сделан путем вызова
setLineFragmentRect:forGlyphRange:usedRect:
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Возвращает расположение для данного глифа в его фрагменте строки.
Объявление
Objective C
- (CGPoint)locationForGlyphAtIndex:(NSUInteger)
glyphIndex
Параметры
glyphIndex
Глиф, расположение которого возвращается.
Возвращаемое значение
Расположение данного глифа.
Обсуждение
Если данному глифу не устанавливали явное расположение для него (например, если это - часть — но не сначала в — последовательность номинально расположенных с интервалами символов), расположение вычисляется продвижениями глифа от расположения нового предыдущего глифа с набором расположения.
Расположения глифа относительно их источника прямоугольника фрагмента строки. Прямоугольник фрагмента строки поочередно определяется в системе координат текстового контейнера, где это находится.
Если расположение состоящее из нескольких несмежных участков не включено, до и включая тот фрагмент строки, этот метод вызывает генерацию глифа и расположение для фрагмента строки, содержащего указанный глиф, или.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Указывает, является ли глиф в данном индексе непоказанным тем.
Объявление
Swift
func notShownAttributeForGlyphAtIndex(_
glyphIndex
: Int) -> BoolObjective C
- (BOOL)notShownAttributeForGlyphAtIndex:(NSUInteger)
glyphIndex
Параметры
glyphIndex
Индекс глифа.
Возвращаемое значение
YES
true
если глиф вglyphIndex
не показан; иначеNO
false
.Обсуждение
Некоторые глифы не показаны. Например, вкладка, новая строка или присоединяемый глиф не показаны; это просто влияет на расположение следующих глифов или определяет местоположение графического присоединения. Пробелы, однако, обычно показываются как глифы со смещением, несмотря на то, что они не оставляют видимых меток.
Если расположение состоящее из нескольких несмежных участков не включено, до и включая тот фрагмент строки, этот метод вызывает генерацию глифа и расположение для фрагмента строки, содержащего указанный глиф, или.
Повышения
NSRangeException
еслиglyphIndex
выходит за пределы.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
truncatedGlyphRangeInLineFragmentForGlyphAtIndex (_:) - truncatedGlyphRangeInLineFragmentForGlyphAtIndex:
Возвращает диапазон усеченных глифов для фрагмента строки, содержащего указанный индекс.
Объявление
Objective C
- (NSRange)truncatedGlyphRangeInLineFragmentForGlyphAtIndex:(NSUInteger)
glyphIndex
Параметры
glyphIndex
Глиф, фрагмент строки которого тестируется.
Возвращаемое значение
Диапазон усеченных глифов для фрагмента строки, содержащего указанный глиф, или, когда нет никакого усечения для фрагмента строки,
{NSNotFound, 0}
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Возвращает отдельный ограничивающий прямоугольник (в контейнерных координатах) включающий все глифы и другие метки, нарисованные в данном текстовом контейнере для данного диапазона глифа, включая глифы, рисующие вне их прямоугольников фрагмента строки и текстовых атрибутов, таких как подчеркивание.
Объявление
Swift
func boundingRectForGlyphRange(_
glyphRange
: NSRange, inTextContainercontainer
: NSTextContainer) -> CGRectObjective C
- (CGRect)boundingRectForGlyphRange:(NSRange)
glyphRange
inTextContainer:(NSTextContainer *)container
Параметры
glyphRange
Диапазон глифов, для которых можно возвратить ограничительный прямоугольник.
container
Текстовый контейнер, в котором размечаются глифы.
Возвращаемое значение
Ограничительный прямоугольник, включающий данный диапазон глифов.
Обсуждение
Диапазон пересечен с диапазоном контейнера прежде, чем вычислить ограничительный прямоугольник. Когда диапазон глифов изменяется, этот метод может использоваться для перевода диапазонов глифа в прямоугольники дисплея для аннулирования и перерисовки. Ограничительные прямоугольники всегда находятся в контейнерных координатах.
Выполняет генерацию глифа и расположение в случае необходимости.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
characterIndexForPoint (_: inTextContainer:fractionOfDistanceBetweenInsertionPoints:) - characterIndexForPoint:inTextContainer:fractionOfDistanceBetweenInsertionPoints:
Возвращает индекс символа, подпадающего под данную точку, выраженную в системе координат данного контейнера.
Объявление
Swift
func characterIndexForPoint(_
point
: CGPoint, inTextContainercontainer
: NSTextContainer, fractionOfDistanceBetweenInsertionPointspartialFraction
: UnsafeMutablePointer<CGFloat>) -> IntObjective 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, actualGlyphRangeactualGlyphRange
: NSRangePointer) -> NSRangeObjective 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 и позже.
-
enumerateEnclosingRectsForGlyphRange (_: withinSelectedGlyphRange:inTextContainer:usingBlock:) - enumerateEnclosingRectsForGlyphRange:withinSelectedGlyphRange:inTextContainer:usingBlock:
Перечисляет прямоугольники включения для данного диапазона глифа в данном текстовом контейнере.
Объявление
Swift
func enumerateEnclosingRectsForGlyphRange(_
glyphRange
: NSRange, withinSelectedGlyphRangeselectedRange
: NSRange, inTextContainertextContainer
: NSTextContainer, usingBlockblock
: (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
Ссылка на булево значение. Блок может установить значение в
YES
true
остановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только установить эту булевскую переменную вYES
true
в блоке.Обсуждение
Эти прямоугольники всегда находятся в контейнерных координатах. Они могут использоваться для рисования фона текста или выделения для данного диапазона символов. Прямоугольники не обязательно включают глифы, рисующие вне их прямоугольников фрагмента строки; использовать
boundingRectForGlyphRange:inTextContainer:
определить область, содержащую все получение, выполняемое для диапазона глифов.Если выбранный диапазон дан во втором параметре, прямоугольники возвратились, корректны для рисования выбора. Прямоугольники выбора обычно более сложны, чем включение прямоугольников, и предоставление выбранного диапазона определяет, выполняет ли метод эту дополнительную работу. Этот метод делает минимальную сумму работы, требуемой отвечать на вопрос.
Выполняет генерацию глифа и расположение в случае необходимости.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
enumerateLineFragmentsForGlyphRange (_: usingBlock:) - enumerateLineFragmentsForGlyphRange:usingBlock:
Перечисляет фрагменты строки, пересекающиеся с данным диапазоном глифа.
Объявление
Swift
func enumerateLineFragmentsForGlyphRange(_
glyphRange
: NSRange, usingBlockblock
: (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
Ссылка на булево значение. Блок может установить значение в
YES
true
остановить последующую обработку массива. Параметром остановки является единственный параметр. Необходимо только установить эту булевскую переменную вYES
true
в блоке.Обсуждение
Если расположение состоящее из нескольких несмежных участков не включено для всего текста до и включая тот фрагмент строки, этот метод вызывает генерацию глифа и расположение для фрагмента строки, содержащего глифы в указанном диапазоне, или.
Прямоугольники фрагмента строки всегда находятся в контейнерных координатах.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
fractionOfDistanceThroughGlyphForPoint (_: inTextContainer:) - fractionOfDistanceThroughGlyphForPoint:inTextContainer:
Этот метод является примитивом для
glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:
. Необходимо всегда вызывать основной метод, не примитивы.Объявление
Swift
func fractionOfDistanceThroughGlyphForPoint(_
point
: CGPoint, inTextContainercontainer
: NSTextContainer) -> CGFloatObjective 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 и позже.
-
getLineFragmentInsertionPointsForCharacterAtIndex (_: alternatePositions:inDisplayOrder:positions:characterIndexes:) - getLineFragmentInsertionPointsForCharacterAtIndex:alternatePositions:inDisplayOrder:positions:characterIndexes:
Точки вставки возвратов оптом для данного фрагмента строки.
Объявление
Swift
func getLineFragmentInsertionPointsForCharacterAtIndex(_
charIndex
: Int, alternatePositionsaFlag
: Bool, inDisplayOrderdFlag
: Bool, positionspositions
: UnsafeMutablePointer<CGFloat>, characterIndexescharIndexes
: UnsafeMutablePointer<Int>) -> IntObjective C
- (NSUInteger)getLineFragmentInsertionPointsForCharacterAtIndex:(NSUInteger)
charIndex
alternatePositions:(BOOL)aFlag
inDisplayOrder:(BOOL)dFlag
positions:(CGFloat *)positions
characterIndexes:(NSUInteger *)charIndexes
Параметры
charIndex
Индекс символа одного символа во фрагменте строки.
aFlag
Если
YES
true
, альтернатива возвратов, а не основные, точки вставки.dFlag
Если
YES
true
, точки вставки возвратов в дисплее, а не логичный, порядок.positions
На выводе указаны позиции точек вставки, в порядке.
charIndexes
На выводе, индексах символов, соответствующих возвращенным точкам вставки.
Возвращаемое значение
Число точек вставки возвратилось.
Обсуждение
Метод позволяет клиентам получать все точки вставки для фрагмента строки в одном вызове. Каждый указатель передал в, должен или быть
NULL
или иначе укажите на достаточную память для содержания стольких же элементов, сколько существуют точки вставки во фрагменте строки (который не может быть больше, чем число символов + 1). Возвращенные позиции указывают поперечное смещение относительно источника прямоугольника фрагмента строки. Внутреннее кэширование используется, чтобы гарантировать, что повторные вызовы к этому методу для того же фрагмента строки (возможно с отличающимися значениями для других параметров) не являются значительно более дорогими, чем единственный вызов.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Этот метод является примитивом для
glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:
. Необходимо всегда вызывать основной метод, не примитивы.Объявление
Swift
func glyphIndexForPoint(_
point
: CGPoint, inTextContainercontainer
: NSTextContainer) -> IntObjective C
- (NSUInteger)glyphIndexForPoint:(CGPoint)
point
inTextContainer:(NSTextContainer *)container
Параметры
point
Точка, для которой можно возвратить глиф в координатах
container
.container
Контейнер, в котором размечается возвращенный глиф.
Возвращаемое значение
Индекс глифа, подпадающего под данную точку, выраженную в системе координат данного контейнера.
Обсуждение
Необходимо всегда вызывать основной метод, не примитив, но Вы могли бы переопределить этот примитивный метод.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
glyphIndexForPoint (_: inTextContainer:fractionOfDistanceThroughGlyph:) - glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:
Возвращает индекс глифа, подпадающего под данную точку, выраженную в системе координат данного контейнера.
Объявление
Swift
func glyphIndexForPoint(_
point
: CGPoint, inTextContainercontainer
: NSTextContainer, fractionOfDistanceThroughGlyphpartialFraction
: UnsafeMutablePointer<CGFloat>) -> IntObjective 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, inTextContainercontainer
: NSTextContainer) -> NSRangeObjective C
- (NSRange)glyphRangeForBoundingRect:(CGRect)
bounds
inTextContainer:(NSTextContainer *)container
Параметры
bounds
Ограничительный прямоугольник, для которого можно возвратить глифы.
container
Текстовый контейнер, в котором размечаются глифы.
Возвращаемое значение
Диапазон глифов, которые должны были бы быть выведены на экран для рисования всех глифов, падающих (даже частично) в данном ограничительном прямоугольнике. Диапазон возвратился, может включать глифы, не падающие внутри или пересекающиеся
bounds
, несмотря на то, что первые и последние глифы в диапазоне всегда делают. Самое большее этот метод возвращает диапазон глифа для целого контейнера.Обсуждение
Этот метод используется для определения, какие глифы должны быть выведены на экран в данном прямоугольнике.
Выполняет генерацию глифа и расположение в случае необходимости. Ограничительные прямоугольники всегда находятся в контейнерных координатах.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
glyphRangeForBoundingRectWithoutAdditionalLayout (_: inTextContainer:) - glyphRangeForBoundingRectWithoutAdditionalLayout:inTextContainer:
Возвращает самый маленький непрерывный диапазон для глифов, размечающихся полно или частичный в данном прямоугольнике в данном текстовом контейнере.
Объявление
Swift
func glyphRangeForBoundingRectWithoutAdditionalLayout(_
bounds
: CGRect, inTextContainercontainer
: NSTextContainer) -> NSRangeObjective C
- (NSRange)glyphRangeForBoundingRectWithoutAdditionalLayout:(CGRect)
bounds
inTextContainer:(NSTextContainer *)container
Параметры
bounds
Ограничительный прямоугольник, для которого можно возвратить глифы.
container
Текстовый контейнер, в котором размечаются глифы.
Возвращаемое значение
Диапазон глифов, которые должны были бы быть выведены на экран для рисования всех глифов, падающих (даже частично) в данном ограничительном прямоугольнике. Диапазон возвратился, может включать глифы, не падающие внутри или пересекающиеся
bounds
, несмотря на то, что первые и последние глифы в диапазоне всегда делают. Самое большее этот метод возвращает диапазон глифа для целого контейнера.Обсуждение
В отличие от этого
glyphRangeForBoundingRect:inTextContainer:
, этот вариант метода не выполняет генерацию глифа или расположение. Его результаты, хотя быстрее, могут быть неправильными. Этот метод прежде всего для использования текстовыми представлениями; необходимо редко должны быть использовать его сами.Ограничительные прямоугольники всегда находятся в контейнерных координатах.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
glyphRangeForCharacterRange (_: actualCharacterRange:) - glyphRangeForCharacterRange:actualCharacterRange:
Возвращает диапазон глифов, сгенерированных от символов в данном диапазоне символов.
Объявление
Swift
func glyphRangeForCharacterRange(_
charRange
: NSRange, actualCharacterRangeactualCharRange
: NSRangePointer) -> NSRangeObjective 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) -> NSRangeObjective C
- (NSRange)glyphRangeForTextContainer:(NSTextContainer *)
container
Параметры
container
Текстовый контейнер, в котором размечаются глифы.
Возвращаемое значение
Диапазон глифов размечается в данном текстовом контейнере.
Обсуждение
Это - менее эффективный метод, чем подобное
textContainerForGlyphAtIndex:effectiveRange:
.Выполняет генерацию глифа и расположение в случае необходимости.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Возвращает диапазон для глифов вокруг данного глифа, который может быть выведен на экран с помощью только их продвижения от шрифта без попарного кернинга или других корректировок интервала.
Объявление
Objective C
- (NSRange)rangeOfNominallySpacedGlyphsContainingIndex:(NSUInteger)
glyphIndex
Параметры
glyphIndex
Индекс глифа для тестирования.
Возвращаемое значение
Диапазон номинально расположенных с интервалами глифов.
Обсуждение
Диапазон возвратился, начинается с первого глифа, рассчитывая назад от
glyphIndex
, этому установили расположение, и оно продолжается до, но не включает, следующий глиф, которому установили расположение.Выполняет генерацию глифа и расположение в случае необходимости.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Рисует фоновые метки данного диапазона глифа, который должен лечь полностью в единственном текстовом контейнере.
Объявление
Параметры
glyphsToShow
Диапазон глифов, для которых нарисован фон.
origin
Позиция текстового контейнера в системе координат в настоящее время фокусируемого представления.
Обсуждение
Это - примитивный метод для рисования. Можно переопределить его, чтобы выполнить дополнительное получение, или заменить текст, рисующий полностью, но не изменить расположение. Можно вызвать этот метод непосредственно, но фокус должен уже быть заблокирован на целевом представлении или изображении.
Фоновые метки являются такими вещами как выделение выбора, цвет фона текста и любой фон для отмеченного текста, вместе с блочным художественным оформлением, такими как табличные фоны и границы.
Выполняет генерацию глифа и расположение в случае необходимости.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Рисует глифы в данном диапазоне глифа, который должен лечь полностью в единственном текстовом контейнере.
Объявление
Параметры
glyphsToShow
Диапазон нарисованных глифов.
origin
Позиция текстового контейнера в системе координат в настоящее время фокусируемого представления.
Обсуждение
Это - примитивный метод для рисования. Можно переопределить его, чтобы выполнить дополнительное получение, или заменить текст, рисующий полностью, но не изменить расположение. Можно вызвать этот метод непосредственно, но фокус должен уже быть заблокирован на целевом представлении или изображении.
Этот метод рисует фактические глифы, включая присоединения, а также любые подчеркивания или strikethoughs.
Выполняет генерацию глифа и расположение в случае необходимости.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
drawStrikethroughForGlyphRange (_: strikethroughType:baselineOffset:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:) - drawStrikethroughForGlyphRange:strikethroughType:baselineOffset:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:
Рисует перечеркивание для глифов в данном диапазоне.
Объявление
Swift
func drawStrikethroughForGlyphRange(_
glyphRange
: NSRange, strikethroughTypestrikethroughVal
: NSUnderlineStyle, baselineOffsetbaselineOffset
: CGFloat, lineFragmentRectlineRect
: CGRect, lineFragmentGlyphRangelineGlyphRange
: NSRange, containerOrigincontainerOrigin
: CGPoint)Параметры
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 и позже.
-
drawUnderlineForGlyphRange (_: underlineType:baselineOffset:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:) - drawUnderlineForGlyphRange:underlineType:baselineOffset:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:
Рисует подчеркивание для глифов в данном диапазоне.
Объявление
Swift
func drawUnderlineForGlyphRange(_
glyphRange
: NSRange, underlineTypeunderlineVal
: NSUnderlineStyle, baselineOffsetbaselineOffset
: CGFloat, lineFragmentRectlineRect
: CGRect, lineFragmentGlyphRangelineGlyphRange
: NSRange, containerOrigincontainerOrigin
: CGPoint)Параметры
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 и позже.
-
fillBackgroundRectArray (_: count:forCharacterRange:color:) - fillBackgroundRectArray:count:forCharacterRange:color:
Фоновые прямоугольники заливок с цветом.
Объявление
Swift
func fillBackgroundRectArray(_
rectArray
: UnsafePointer<CGRect>, countrectCount
: Int, forCharacterRangecharRange
: NSRange, colorcolor
: 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 и позже.
-
showCGGlyphs (_: positions:count:font:matrix:attributes:inContext:) - showCGGlyphs:positions:count:font:matrix:attributes:inContext:
Представляет глифы в указанных позициях и атрибутах в данный графический контекст.
Объявление
Swift
func showCGGlyphs(_
glyphs
: UnsafePointer<CGGlyph>, positionspositions
: UnsafePointer<CGPoint>, countglyphCount
: Int, fontfont
: UIFont, matrixtextMatrix
: CGAffineTransform, attributesattributes
: [NSObject : AnyObject]?, inContextgraphicsContext
: 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 и позже.
-
strikethroughGlyphRange (_: strikethroughType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:) - strikethroughGlyphRange:strikethroughType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:
Вычисляет и рисует перечеркивание для глифов в данном диапазоне.
Объявление
Swift
func strikethroughGlyphRange(_
glyphRange
: NSRange, strikethroughTypestrikethroughVal
: NSUnderlineStyle, lineFragmentRectlineRect
: CGRect, lineFragmentGlyphRangelineGlyphRange
: NSRange, containerOrigincontainerOrigin
: 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 и позже.
-
underlineGlyphRange (_: underlineType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:) - underlineGlyphRange:underlineType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:
Вычисляет поддиапазоны, которые будут подчеркнуты для глифов в данном диапазоне, и рисует подчеркивание как надлежащее.
Объявление
Swift
func underlineGlyphRange(_
glyphRange
: NSRange, underlineTypeunderlineVal
: NSUnderlineStyle, lineFragmentRectlineRect
: CGRect, lineFragmentGlyphRangelineGlyphRange
: NSRange, containerOrigincontainerOrigin
: 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 и позже.
-