NSTextInputClient
NSTextInputClient
протокол определяет методы, которые текстовые представления Какао должны реализовать для взаимодействия должным образом с системой управления ввода текста. Для создания другого текста просматривают класс, можно или разделить на подклассы NSTextView
(и нет NSText
, по историческим причинам), или подкласс NSView
и реализация NSTextInputClient
протокол
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.5 и позже.
-
hasMarkedText () - hasMarkedText
ТребуемыйВозвращает булево значение, указывающее, отметил ли получатель текст. (требуемый)
Объявление
Swift
func hasMarkedText() -> Bool
Objective C
- (BOOL)hasMarkedText
Возвращаемое значение
YES
true
если получатель отметил текст; иначеNO
false
.Обсуждение
Само текстовое представление может вызвать этот метод, чтобы определить, существует ли в настоящее время отмеченный текст.
NSTextView
, например, когда этот метод возвращается, отключает пункт меню Edit> CopyYES
true
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
markedRange () - markedRange
ТребуемыйВозвращает диапазон отмеченного текста. (требуемый)
Возвращаемое значение
Диапазон отмеченного текста или
{NSNotFound, 0}
если нет никакого отмеченного диапазона.Обсуждение
Возвращенный диапазон измеряется от запуска текстового хранения получателя. Возвращаемое значение
location
NSNotFound
иlength
0 если и только еслиhasMarkedText
возвратыNO
false
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
selectedRange () - selectedRange
ТребуемыйВозвращает диапазон выделенного текста. (требуемый)
Возвращаемое значение
Диапазон выделенного текста или
{NSNotFound, 0}
если нет никакого выбора.Обсуждение
Возвращенный диапазон измеряется от запуска текстового хранения получателя, т.е. от 0 до длины документа.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
setMarkedText (_: selectedRange:replacementRange:) - setMarkedText:selectedRange:replacementRange:
ТребуемыйЗаменяет указанный диапазон в текстовом хранении получателя с данной строкой и устанавливает выбор. (требуемый)
Объявление
Параметры
aString
Строка для вставки. Может быть любой
NSString
илиNSAttributedString
экземпляр.selectedRange
Диапазон для установки как выбор, вычисленный с начала вставленной строки.
replacementRange
Диапазон для замены, вычисленный с начала отмеченного текста.
Обсуждение
Если нет никакого отмеченного текста, текущий выбор заменяется. Если нет никакого выбора, строка вставляется в точке вставки.
Когда
aString
NSString
объект, получатель, как ожидают, представит отмеченный текст с различением появления (например,NSTextView
рендеринг сmarkedTextAttributes
).Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
unmarkText () - unmarkText
ТребуемыйСнимает выделение с отмеченного текста. (требуемый)
Объявление
Swift
func unmarkText()
Objective C
- (void)unmarkText
Обсуждение
Получатель удаляет любую маркировку из незаконченного входного текста и избавляется от отмеченного текста, как это желает. Текстовое представление должно принять отмеченный текст, как будто это обычно вставлялось. Если нет никакого отмеченного текста, вызов этого метода не имеет никакого эффекта.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает массив названий атрибута, распознанных получателем. (требуемый)
Объявление
Swift
func validAttributesForMarkedText() -> [AnyObject]
Objective C
- (NSArray *)validAttributesForMarkedText
Возвращаемое значение
Массив
NSString
объекты, представляющие имена для поддерживаемых атрибутов.Обсуждение
Если никакие атрибуты не поддерживаются, возвращает пустой массив. Посмотрите дополнительную NSAttributedString AppKit Ссылку для набора строковых констант, представляющих стандартные атрибуты.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
attributedSubstringForProposedRange (_: actualRange:) - attributedSubstringForProposedRange:actualRange:
ТребуемыйВозвращает приписанную строку, полученную из данного диапазона в текстовом хранении получателя. (требуемый)
Объявление
Swift
func attributedSubstringForProposedRange(_
aRange
: NSRange, actualRangeactualRange
: NSRangePointer) -> NSAttributedString?Objective C
- (NSAttributedString *)attributedSubstringForProposedRange:(NSRange)
aRange
actualRange:(NSRangePointer)actualRange
Параметры
aRange
Диапазон в текстовом хранении, из которого можно создать возвращаемую строку.
actualRange
Фактический диапазон возвращаемой строки, если это было скорректировано, например, к границе кластера графемы или для производительности или других причин.
NULL
если не был скорректирован диапазон.Возвращаемое значение
Строка создается из данного диапазона. Может возвратиться
nil
.Обсуждение
Реализация этого метода должна быть подготовлена к
aRange
выходить за пределы. Например, служба ввода текста InkWell может попросить содержание клиента ввода текста, расширяющегося вне диапазона документа. В этом случае необходимо возвратить пересечение диапазона документа иaRange
. Если расположениеaRange
полностью за пределами диапазона документа, возвратитьсяnil
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
Вставляет данную строку в получатель, заменяя указанное содержание. (требуемый)
Объявление
Swift
func insertText(_
aString
: AnyObject, replacementRangereplacementRange
: NSRange)Objective C
- (void)insertText:(id)
aString
replacementRange:(NSRange)replacementRange
Параметры
aString
Текст для вставки, любой
NSString
илиNSAttributedString
экземпляр.replacementRange
Диапазон содержания для замены в текстовом хранении получателя.
Обсуждение
Этот метод является точкой входа для вставки текста, введенного пользователем, и обычно не подходит для других целей. Программируемая модификация текста лучше всего сделана путем работы на текстовое хранение непосредственно. Поскольку этот метод принадлежит действиям пользователя, текстовое представление должно быть доступным для редактирования для вставки для работы.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает индекс символа, ограничительный прямоугольник которого включает данную точку. (требуемый)
Объявление
Objective C
- (NSUInteger)characterIndexForPoint:(NSPoint)
aPoint
Параметры
aPoint
Точка для тестирования, в координатах экрана.
Возвращаемое значение
Индекс символа, измеренный от запуска текстового хранения получателя, символа, содержащего данную точку. Возвраты
NSNotFound
если курсор не в ограничительном прямоугольнике символа.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает первый логический граничный прямоугольник для символов в данном диапазоне. (требуемый)
Объявление
Swift
func firstRectForCharacterRange(_
aRange
: NSRange, actualRangeactualRange
: NSRangePointer) -> NSRectObjective C
- (NSRect)firstRectForCharacterRange:(NSRange)
aRange
actualRange:(NSRangePointer)actualRange
Параметры
aRange
Диапазон символов, граничный прямоугольник которого возвращается.
actualRange
Если не -
NULL
, содержит диапазон символов, соответствующий возвращенной области, если это было скорректировано, например, к границе кластера графемы или символам в первом фрагменте строки.Возвращаемое значение
Граничный прямоугольник для данного диапазона символов, в координатах экрана. Прямоугольник
size
если текст течет налево, значение может быть отрицательным.Обсуждение
Если
aRange
промежутки многократные строки текста в текстовом представлении, прямоугольник возвратился, тот, окружающий символы в первой строке. В этом случаеactualRange
содержит диапазон, покрытый первым rect, таким образом, можно запросить все фрагменты строки путем вызова этого метода неоднократно. Если длинаaRange
0 (как это было бы, если нет ничего выбранного в точке вставки), прямоугольник совпадает с точкой вставки, и ее ширина 0.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
Вызывает действие, указанное данным селектором. (требуемый)
Объявление
Swift
func doCommandBySelector(_
aSelector
: Selector)Objective C
- (void)doCommandBySelector:(SEL)
aSelector
Параметры
aSelector
Селектор для вызова.
Обсуждение
Если
aSelector
не может быть вызван, тогдаdoCommandBySelector:
не должен передавать это сообщение цепочка респондента.NSResponder
также реализуют этот метод, и он действительно направляет uninvokable команды цепочка респондента, но текстовое представление не должно. Текстовое представление, реализовываяNSTextInputClient
протокол наследовался отNSView
, который наследовался отNSResponder
, таким образом, Ваша реализация этого метода переопределит тот вNSResponder
. Это не должно вызыватьsuper
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
См. также
interpretKeyEvents:
(NSResponder)doCommandBySelector:
(NSResponder)
-
Возвращает приписанную строку, представляющую текстовое хранение получателя.
Объявление
Swift
optional func attributedString() -> NSAttributedString
Objective C
- (NSAttributedString *)attributedString
Возвращаемое значение
Приписанная строка текстового хранения получателя.
Обсуждение
Реализация этого метода является дополнительной. Класс, принимающий
NSTextInputClient
протокол может реализовать этот интерфейс, если это может быть сделано эффективно, чтобы позволить вызывающим сторонам этого интерфейса получить доступ к произвольным частям содержания получателя более эффективно.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает часть расстояния от левой стороны символа к правой стороне, что находится данная точка.
Объявление
Swift
optional func fractionOfDistanceThroughGlyphForPoint(_
aPoint
: NSPoint) -> CGFloatПараметры
aPoint
Точка для тестирования.
Возвращаемое значение
Часть расстояния
aPoint
через глиф, в котором это находится. Может быть 0 или 1 еслиaPoint
не в ограничительном прямоугольнике глифа (0, если точка налево или выше глифа; 1, если это вправо или ниже).Обсуждение
Реализация этого метода является дополнительной. Это позволяет вызывающей стороне выполнять точную обработку выбора.
В целях, таких как вытаскивание выбора или размещение точки вставки, частичный процент, меньше чем или равный 0,5, указывает это
aPoint
должен быть рассмотрен как падающий перед глифом; частичный процент, больше, чем 0,5, указывает, что это нужно рассмотреть как падающий после глифа. Если самый близкий глиф не лежит подaPoint
вообще (например, еслиaPoint
вне начала или конца строки), это отношение 0 или 1.Например, если поток глифа содержит глифы и «b» с шириной существа 13 точек, и
aPoint
8 точек от левой стороны, тогда часть расстояния является 8/13, или 0.615. В этом случае,aPoint
должен быть рассмотрен как падающий между и «b» в целях, таких как вытаскивание выбора или размещение точки вставки.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает базовую позицию данного символа относительно источника прямоугольника, возвращенного
firstRectForCharacterRange:actualRange:
.Объявление
Swift
optional func baselineDeltaForCharacterAtIndex(_
anIndex
: Int) -> CGFloatObjective C
- (CGFloat)baselineDeltaForCharacterAtIndex:(NSUInteger)
anIndex
Параметры
anIndex
Индекс символа, базовая линия которого тестируется.
Возвращаемое значение
Вертикальное расстояние, в точках, между базовой линией символа в
anIndex
и прямоугольный источник.Обсуждение
Реализация этого метода является дополнительной. Эта информация позволяет вызывающей стороне определять расположение символа с более прекрасными зернами в текстовом хранении текстового принятия представления
NSTextInputClient
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает уровень окна получателя.
Возвращаемое значение
Уровень окна получателя.
Обсуждение
Реализация этого метода является дополнительной. Принятие класса
NSTextInputClient
может реализовать этот интерфейс для указания его уровня окна, если это выше, чемNSFloatingWindowLevel
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
-
Сообщает системе управления ввода текста, представляет ли приспосабливающий протоколу клиент символ в данном индексе вертикально.
Объявление
Swift
optional func drawsVerticallyForCharacterAtIndex(_
charIndex
: Int) -> BoolObjective C
- (BOOL)drawsVerticallyForCharacterAtIndex:(NSUInteger)
charIndex
Параметры
charIndex
Индекс символа для тестирования.
Возвращаемое значение
YES
true
если символ представляется вертикально; иначеNO
false
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.