UITextInput协议参考

符合

UIKeyInput 

骨架

/系统//框架/ UIKit.framework

可用性

iOS 3.2及更高版本。

同伴指南

文本,网页和编辑编程指南适用于iOS 

中声明

UITextInput.h 

概观

类采用的UITextInput协议(符合继承协议)的文本输入系统进行交互,从而获得功能,如自动校正和多级文本输入自己的文件。 (多级文本输入时,语言是表意和键盘拼音)。

注:在这里,一个文件被假设为是一个视图能够显示和操作文本。


采用UITextInput协议提供的文字输入系统与文本的位置和需求,解答有关布局和写作方向上的文本范围的类的对象,进行命中测试(返回文本位置和范围,对于一个给定的点),并提供系统可以用于突出显示的文本的范围,并绘制插入符与矩形。 此外, UITextInput对象维护选定的文本,标记的文本的范围。

标记文本,这是多级文本输入的一部分,临时插入的文本,用户尚未确认。 这是风格独特的方式。 标记的文本的范围总是包含在它的范围内选定的文本,这可能是一个范围的字符或插入符号。

UITextInput协议是一个星座的文字输入系统集成文字处理应用程序的类和协议的中心。 这个星座的其他部分有以下几种:

  • UITextPositionUITextRange类符合所有UITextInput文档类必须创建自定义这些类的子类。 ,一个UITextPosition对象代表一个文本容器中的位置。 一个UITextRange对象,封装开始和结束UITextPosition对象的,表示一定范围内的字符在文本容器。
  • 协议UITextInputStringTokenizer UITextInputTokenizerUITextInputStringTokenizer类的协议定义了一个标记对象的接口,使文字输入系统,以评估不同粒度的文字单位。 类是此协议的默认实现。
  • UITextInputDelegate协议文本输入,系统会自动分配给自己的文字输入代理(符合此协议)的UITextInput符合要求的文档对象。 通过这个文本输入代理,文档对象通知的文本输入文本和选择系统的变化。
  • UIKeyInput协议实现的插入点处获得的文本输入的功能和删除。

UITextInput协议也继承了UITextInputTraits协议,从而自定义键盘和行为的能力。

iOS 5.1开始,当用户选择的听写输入支持的设备上,系统会自动插入到当前文本视图公认的短语。 方法在UITextInput协议允许您的应用程序响应完成听写,如使用听写。您可以使用一个对象的UIDictationPhrase类获得一个字符串,它表示一个用户决定的短语。 听写词组对象在暧昧的听写结果的情况下,提供了一个数组,包含替代字符串。

任务

更换和返回文本

  • – textInRange: 所需的方法
  • – replaceRange:withText: 所需的方法

标记和选定的文本

  • selectedTextRange 所需的属性
  • markedTextRange 所需的属性
  • markedTextStyle 所需的属性
  • – setMarkedText:selectedRange: 所需的方法
  • – unmarkText 所需的方法
  • selectionAffinity 财产

计算的文本范围和文本位置

  • – textRangeFromPosition:toPosition: 所需的方法
  • – positionFromPosition:offset: 所需的方法
  • – positionFromPosition:inDirection:offset: 所需的方法
  • beginningOfDocument 所需的属性
  • endOfDocument 所需的属性

评估文本位置

  • – comparePosition:toPosition: 所需的方法
  • – offsetFromPosition:toPosition: 所需的方法

确定布局和书写方向

  • – positionWithinRange:farthestInDirection:
  • – characterRangeByExtendingPosition:inDirection: 所需的方法
  • – baseWritingDirectionForPosition:inDirection: 所需的方法
  • – setBaseWritingDirection:forRange: 所需的方法

几何和命中测试方法

  • – firstRectForRange: 所需的方法
  • – caretRectForPosition: 所需的方法
  • – closestPositionToPoint: 所需的方法
  • – closestPositionToPoint:withinRange: 所需的方法
  • – characterRangeAtPoint: 所需的方法

代表和文本输入文本输入标记生成器

  • inputDelegate 所需的属性
  • tokenizer 所需的属性

使用听写

  • – dictationRecordingDidEnd
  • – dictationRecognitionFailed
  • – insertDictationResult:

返回文本的样式信息

  • – textStylingAtPosition:inDirection:

调和文本位置和字符偏移量

  • – positionWithinRange:atCharacterOffset:
  • – characterOffsetOfPosition:withinRange:

返回文本输入查看

  • textInputView 财产

属性

beginningOfDocument

一个文件的开头的文本位置。 (必填)(只读)

@财产(只读) UITextPosition beginningOfDocument

可用性

  • iOS 3.2及更高版本。

参见

  • @property endOfDocument

中声明

UITextInput.h

endOfDocument

的文字位置的文件结尾。 (必填)(只读)

@财产(只读) UITextPosition endOfDocument

可用性

  • iOS 3.2及更高版本。

参见

  • @property beginningOfDocument

中声明

UITextInput.h

inputDelegate

输入代表时通知文本更改时,选择改变。 (必填)

@属性(非原子,分配)编号UITextInputDelegate > inputDelegate

讨论

文本输入,系统会自动分配一个代表此属性在运行时。 这是责任的认为采用的UITextInput协议,在适当时候通知输入委托。

可用性

  • iOS 3.2及更高版本。

中声明

UITextInput.h

markedTextRange

范围内的文本文档中的当前标记。 (必填)(只读)

@属性(只读) UITextRange * markedTextRange

讨论

如果没有标记的文本,该属性的值是nil 。 标记的文本是临时插入的文本,要求用户确认,它发生在多级文本输入。 当前的选择,它可以是一个插入符号或扩展的范围,总是发生在标记的文本。

可用性

  • iOS 3.2及更高版本。

参见

  • @property markedTextStyle
  • – setMarkedText:selectedRange:
  • – unmarkText

中声明

UITextInput.h

markedTextStyle

一本字典的属性,描述了如何标记的文本应制定。 (必填)

@属性(非原子,副本) NSDictionary * markedTextStyle

讨论

标记的文本需要时向用户显示出独特的视觉处理。 请参见风格的说明本字典的有效键和值的字典的键 。

可用性

  • iOS 3.2及更高版本。

参见

  • @property markedTextRange
  • – setMarkedText:selectedRange:
  • – unmarkText

中声明

UITextInput.h

selectedTextRange

选择文档中的文本的范围。 (必填)

@属性(读写,拷贝) UITextRange * selectedTextRange

讨论

如果文本范围的长度,它表示当前选中的文本。 如果它的长度为零,则表示插入符号(插入点)。 如果文本范围对象是nil ,则表明不存在当前选择。

可用性

  • iOS 3.2及更高版本。

参见

  • @property markedTextRange
  • empty  UITextRange 

中声明

UITextInput.h

selectionAffinity

插入点的所需位置。

@属性(非原子) UITextStorageDirection selectionAffinity

讨论

对于跨边界线的包装,这个属性决定是否将插入点后出现上线或以下行的第一个字符前的最后一个字符的文本选择。 响应于用户通过键盘(例如,命令向右箭头)航行中设置的选择亲和性。 文本输入时,系统会检查这个属性,它在文档中插入点移动。

在默认的实现中,如果选择是不是在该行的末尾,或者,如果选择为在一个空行的一个段落的开始,一个向前的方向假定( UITextStorageDirectionForward );否则,向后方向UITextStorageDirectionBackward ,假定。

可用性

  • iOS 3.2及更高版本。

中声明

UITextInput.h

textInputView

附属认为,在本协议中所有的几何值的坐标系。 (只读)

@属性(只读) UIView * textInputView

讨论

认为既投篮文本和提供在该协议中的所有的几何值的坐标系。 (这是通常的UITextInput采用类的一个实例。)如果此属性未实现,在响应链中的第一个视图。

可用性

  • iOS 3.2及更高版本。

中声明

UITextInput.h

标记生成器

的输入标记的粒度文字单位提供信息。 (必填)(只读)

@属性(只读)ID < UITextInputTokenizer >标记生成器

讨论

粒度的标准单位,包括字符,文字,线条,和段落。 在大多数情况下,你可以懒洋洋地创造和分配的UITextInputStringTokenizer用于此目的的一个子类的一个实例。 如果您需要不同的行为,而不是系统提供的分词器,您可以创建一个自定义的标记生成器采用的UITextInputTokenizer协议。

可用性

  • iOS 3.2及更高版本。

中声明

UITextInput.h

实例方法

baseWritingDirectionForPosition:间接:

返回基本书写方向,在文本中的位置在一定的方向上。 (必填)

 UITextWritingDirection baseWritingDirectionForPosition:( UITextPosition *)的位置间接:( UITextStorageDirection 方向 

参数

位置

一个对象,该对象识别在文档中的位置。

方向

的常数,表示存储的方向(向前或向后)。

返回值

一个常数,它表示的写入方向(例如,左向右或由右至左)

讨论

以前设置的文本时输入系统发送setBaseWritingDirection:forRange:消息符合文档对象的基本书写方向。

可用性

  • iOS 3.2及更高版本。

中声明

UITextInput.h

caretRectForPosition

返回用于在一个给定的插入点光标绘制一个矩形。 (必填)

 CGRect caretRectForPosition:( UITextPosition *)的位置

参数

位置

一个对象,该对象识别在文档中的位置。

返回值

一个矩形,定义的区域绘制插入符。

可用性

  • iOS 3.2及更高版本。

参见

  • – firstRectForRange:

中声明

UITextInput.h

characterOffsetOfPositionwithinRange

返回落在给定范围内的文档的文本中的位置的字符偏移量。

 NSInteger characterOffsetOfPosition:( UITextPosition *)的位置 withinRange:(UITextRange * 范围

参数

位置

一个对象,它标识的位置在一个文档中的文本。

范围

一个对象,它指定一个范围文档中的文本。

返回值

之间发生的位置和范围的开始在一个文档中的文本的字符的数目。

讨论

您应该实现这个方法,如果你没有一到一一对应内之间UITextPosition对象给定的范围和字符偏移到一个文档字符串。

可用性

  • iOS 3.2及更高版本。

参见

  • – positionWithinRange:atCharacterOffset:

中声明

UITextInput.h

characterRangeAtPoint

返回的字符或字符的范围,是在文档中的一个给定的点。 (必填)

 UITextRange *characterRangeAtPoint:( CGPoint  

参数

A点认为是一个文档的文本。

返回值

一个对象,表示点包围的范围内的字符(或字符)。

可用性

  • iOS 3.2及更高版本。

参见

  • – closestPositionToPoint:
  • – closestPositionToPoint:withinRange:

中声明

UITextInput.h

characterRangeByExtendingPosition:间接:

返回一个文本范围从一个给定的文本位置到其最远的程度在一定方向上的布局。 (必填)

 UITextRange *characterRangeByExtendingPosition:( UITextPosition * 位置间接:(UITextLayoutDirection 方向 

参数

位置

文本的定位对象在文档中的位置标识。

方向

一个常数,表示布局方向(左,右,上,下 )。

返回值

文本的范围对象,表示从位置到最远的程度方向的距离。

可用性

  • iOS 3.2及更高版本。

参见

  • – positionWithinRange:farthestInDirection:

中声明

UITextInput.h

closestPositionToPoint

返回]是最近的一个指定的点在一个文档中的位置。 (必填)

 UITextPosition *closestPositionToPoint:( CGPoint  

参数

A点认为是一个文档的文本。

返回值

对象定位在文档中的位置是最接近点 。

可用性

  • iOS 3.2及更高版本。

参见

  • – closestPositionToPoint:withinRange:
  • – characterRangeAtPoint:

中声明

UITextInput.h

closestPositionToPointwithinRange

返回在一个文档中是在一个给定的范围内最接近的一个指定的点的位置。 (必填)

 UITextPosition *closestPositionToPoint:( CGPoint   withinRange的:(UITextRange * 范围内

参数

A点认为是一个文档的文本。

范围

一个对象,它表示一个范围在文档的文本。

返回值

对象范围中的字符位置是最接近点 。

可用性

  • iOS 3.2及更高版本。

参见

  • – closestPositionToPoint:
  • – characterRangeAtPoint:

中声明

UITextInput.h

comparePositiontoPosition

返回一个文本的位置比较其他文本的位置。 (必填)

 NSComparisonResult comparePosition:( UITextPosition *)的位置 toPosition:(UITextPosition * 其他

参数

位置

一个自定义的对象,它代表一个在文档中的位置。

其他

一个自定义的对象,它表示在一个文档中的另一个位置。

返回值

一个值,指示是否在两个文本的位置是相同的,还是一个前。

可用性

  • iOS 3.2及更高版本。

参见

  • – offsetFromPosition:toPosition:

中声明

UITextInput.h

dictationRecognitionFailed

听写结束时调用,而是承认失败。

(无效)dictationRecognitionFailed

讨论

实现这个可选的方法,如果你想回应听写承认失败。

可用性

  • iOS 5.1及更高版本。

中声明

UITextInput.h

dictationRecordingDidEnd

有一个挂起的听写结果时调用。

(无效)dictationRecordingDidEnd“

讨论

实现这个可选的方法,如果你想回应的决定短语的识别完成。

可用性

  • iOS 5.1及更高版本。

中声明

UITextInput.h

firstRectForRange

返回一定范围的文本文档中的第一个矩形围住。 (必填)

 CGRect firstRectForRange:( UITextRange * 范围

参数

范围

一个对象,它代表一个范围文档中的文本。

返回值

在一个范围内的文本的第一个矩形。 您可以使用此矩形来绘制校正矩形。 名称中的第一,是指封闭的范围时,第一行包含多行文本的矩形。

可用性

  • iOS 3.2及更高版本。

参见

  • – caretRectForPosition:

中声明

UITextInput.h

insertDictationResult

有一个以上的解释的一个短语的听写结果时调用。

(无效)insertDictationResult:( NSArray *dictationResult

参数

dictationResult

的数组UIDictationPhrase对象。

讨论

实现这个可选的方法,如果你想支持听写短语替代品。 如果你不实现此方法,最有可能的解释的iOS插入的口述短语。

可用性

  • iOS 5.1及更高版本。

中声明

UITextInput.h

offsetFromPositiontoPosition

可见字符数返回一个文本的位置和另一个文本的位置。 (必填)

 NSInteger offsetFromPosition:( UITextPosition *fromPosition toPosition:(UITextPosition *toPosition

参数

fromPosition

一个自定义的对象,它代表一个在文档中的位置。

toPosition

一个自定义的对象,它表示文档内的另一个位置。

返回值

的数量可见fromPosition之间的字符和toPosition

可用性

  • iOS 3.2及更高版本。

参见

  • – comparePosition:toPosition:

中声明

UITextInput.h

positionFromPosition:间接偏移:

返回文本的位置在一个给定的偏移量在一个指定的方向从另一个文本位置。 (必填)

 UITextPosition *positionFromPosition:(UITextPosition *)的位置间接:(UITextLayoutDirection  方向偏移:( NSInteger  偏移

参数

位置

一个的定制UITextPosition对象,代表了在文档中的位置。

方向

UITextLayoutDirection常数表示的方向上的偏移量从位置 。 返回nil计算文本的位置,如果是小于0或 大于背字符串的长度。

抵销

从位置的字符偏移。

讨论

的实施相关方法, positionFromPosition:offset:举个例子,请参阅绘制和管理文本 “ 文本,网页,编辑为iOS编程指南 

可用性

  • iOS 3.2及更高版本。

参见

  • – textRangeFromPosition:toPosition:
  • – positionFromPosition:offset:

中声明

UITextInput.h

positionFromPosition:偏移:

返回在给定的文本位置,从另一个文本位置的偏移量。 (必填)

 UITextPosition *positionFromPosition:( UITextPosition *)的位置偏移量:(NSInteger  失调 ;

参数

位置

一个的定制UITextPosition对象,代表了在文档中的位置。

抵销

从位置的字符偏移。 它可以是一个正的或负的值。

返回值

在文档中的位置是在一个的定制UITextPosition对象指定的位置偏移。 返回nil计算文本的位置,如果是小于0或 大于背字符串的长度。

讨论

为了实现此方法的一个例子,请参阅绘制和管理文本文本,网页,编辑为iOS编程指南 。

可用性

  • iOS 3.2及更高版本。

参见

  • – positionFromPosition:inDirection:offset:
  • – textRangeFromPosition:toPosition:

中声明

UITextInput.h

positionWithinRangeatCharacterOffset

返回的文档的文本对应于从该范围的起始字符偏移量的范围内的位置。

 UITextPosition *positionWithinRange:( UITextRange * 范围内atCharacterOffset:( NSInteger  偏移

参数

范围

一个对象,它指定一个范围文档中的文本。

抵销

从一开始的范围的字符偏移。

返回值

一个对象,表示在一个文档中的可见文本的位置。

讨论

您应该实现这个方法,如果你没有一到一一对应内之间UITextPosition对象给定的范围和字符偏移到一个文档字符串。

可用性

  • iOS 3.2及更高版本。

参见

  • – characterOffsetOfPosition:withinRange:

中声明

UITextInput.h

positionWithinRangefarthestInDirection

返回文本的位置,是在文本的范围内,在一个给定的布局方向最远的程度。

 UITextPosition *positionWithinRange:( UITextRange * 范围内farthestInDirection:( UITextLayoutDirection 方向 

参数

范围

文本的范围对象,划定了一个范围文档中的文本。

方向

一个常数,表示布局方向(左,右,上,下 )。

返回值

文本的位置的位置在可见的文本对象,它标识。

可用性

  • iOS 3.2及更高版本。

参见

  • – characterRangeByExtendingPosition:inDirection:

中声明

UITextInput.h

replaceRangewithText

文本替换为一个文件,在指定的范围内。 (必填)

(无效)replaceRange:( UITextRange * 范围内 withText:( NSString * 文字

参数

范围

一系列文档中的文本。

文本

一个字符串替换文本范围内 。

可用性

  • iOS 3.2及更高版本。

参见

  • – textInRange:

中声明

UITextInput.h

setBaseWritingDirectionforRange

对于一个给定的范围文档中的文本设置基本的书写方向。 (必填)

(无效)setBaseWritingDirection“:( UITextWritingDirection writingDirectionforRange:( UITextRange * 范围内

参数

writingDirection

一个常数,它表示的写入方向(例如,左向右或由右至左)

范围

一个对象,它代表一个范围文档中的文本。

可用性

  • iOS 3.2及更高版本。

参见

  • – baseWritingDirectionForPosition:inDirection:

中声明

UITextInput.h

setMarkedTextselectedRange

将所提供的文字和标志,以表明它是有效的输入会话的一部分。 (必填)

(空)setMarkedText:( NSString *markedText selectedRange:( NSRangeselectedRange

参数

markedText

被标记的文本。

selectedRange

一个内markedText范围,用于指示当前的选择。 这个范围是总是相对于markedText的 。

讨论

设置标记的文本替换现有的标记文本,如果没有,将其插入当前选择的地方。

可用性

  • iOS 3.2及更高版本。

参见

  • @property markedTextRange
  • @property markedTextStyle
  • – unmarkText

中声明

UITextInput.h

textInRange

返回文本在指定的范围内。 (必填)

 NSString textInRange:( UITextRange * 范围

参数

范围

一系列文档中的文本。

返回值

一个子落在指定范围内的一个文件。

可用性

  • iOS 3.2及更高版本。

参见

  • – replaceRange:withText:

中声明

UITextInput.h

textRangeFromPositiontoPosition

返回两个文本的位置。 (必填)

-

参数

fromPosition

一个对象,表示在文档中的位置。

toPosition

一个对象,表示文档中的其他位置。

返回值

一个对象,它代表之间的范围fromPositiontoPosition

可用性

  • iOS 3.2及更高版本。

参见

  • – positionFromPosition:offset:
  • – positionFromPosition:inDirection:offset:

中声明

UITextInput.h

textStylingAtPosition:间接:

返回一个字典属性指定文字风格在文档中的某个位置的。

 NSDictionary textStylingAtPosition:( UITextPosition *)的位置间接:(UITextStorageDirection 方向 

参数

位置

一个对象,它表示在文本的文件的位置。

方向

造型的方向属性文本存储。

返回值

一本字典,它的元素是一个或多个键 - 值对,定义文字的颜色,字体和背景颜色。 请参阅风格的说明,这些键-值对的字典的键 。

讨论

文本样式信息可以影响,例如,校正矩形的外观。

可用性

  • iOS 3.2及更高版本。

中声明

UITextInput.h

unmarkText

取消标记的标记文本。 (必填)

(无效)unmarkText“

讨论

这种方法被称为后,的markedTextRange值是nil 

可用性

  • iOS 3.2及更高版本。

参见

  • @property markedTextRange
  • – setMarkedText:selectedRange:

中声明

UITextInput.h

常量

UITextStorageDirection

文本存储的方向。

 typedef枚举{

    UITextStorageDirectionForward = 0

    UITextStorageDirectionBackward

 } UITextStorageDirection;

常量

UITextStorageDirectionForward

存储在向前方向上的文本。

iOS 3.2及更高版本。

声明在UITextInput.h 

UITextStorageDirectionBackward

存储的文本在一个落后的方向。

iOS 3.2及更高版本。

声明在UITextInput.h 

讨论

这种类型的常量是用作参数的baseWritingDirectionForPosition:inDirection:textStylingAtPosition:inDirection:方法。

可用性

  • iOS 3.2及更高版本。

中声明

UITextInput.h

UITextLayoutDirection

文本布局的方向。

 typedef枚举{

    UITextLayoutDirectionRight = 2

    UITextLayoutDirectionLeft 

    UITextLayoutDirectionUp 

    UITextLayoutDirectionDown

 } UITextLayoutDirection;

常量

UITextLayoutDirectionRight

到右边的文本布局。

iOS 3.2及更高版本。

声明在UITextInput.h 

UITextLayoutDirectionLeft

布局的文本左对齐。

iOS 3.2及更高版本。

声明在UITextInput.h 

UITextLayoutDirectionUp

在向上方向上的文本的布局。

iOS 3.2及更高版本。

声明在UITextInput.h 

UITextLayoutDirectionDown

在向下方向的文本布局。

iOS 3.2及更高版本。

声明在UITextInput.h 

讨论

这种类型的常量作为参数在positionFromPosition:inDirection:offset: positionWithinRange:farthestInDirection:characterRangeByExtendingPosition:inDirection:方法。

可用性

  • iOS 3.2及更高版本。

中声明

UITextInput.h

UITextWritingDirection

,基于语言的文字的书写方向。

 typedef枚举{

    UITextWritingDirectionNatural = -1

    UITextWritingDirectionLeftToRight = 0

    UITextWritingDirectionRightToLeft 

 } UITextWritingDirection;

常量

UITextWritingDirectionNatural

自然书写方向所定义的比迪算法。

iOS 3.2及更高版本。

声明在UITextInput.h 

UITextWritingDirectionLeftToRight

编写,由左到右。

iOS 3.2及更高版本。

声明在UITextInput.h 

UITextWritingDirectionRightToLeft

写作由右至左。

iOS 3.2及更高版本。

声明在UITextInput.h 

讨论

这种类型的常数返回从baseWritingDirectionForPosition:inDirection:方法作为参数的的setBaseWritingDirection:forRange:方法。

可用性

  • iOS 3.2及更高版本。

中声明

UITextInput.h

风格字典中的键

一个字典,它包含的属性定义文本的风格特征。

NSString   *常量   UITextInputTextBackgroundColorKey ;

NSString   *常量   UITextInputTextColorKey ;

NSString   *常量   UITextInputTextFontKey ;

常量

UITextInputTextBackgroundColorKey

背景颜色的文本。 这个键的值是一个UIColor对象。

iOS 3.2及更高版本。

声明在UITextInput.h 

UITextInputTextColorKey

文本的颜色。 这个键的值是一个UIColor对象。

iOS 3.2及更高版本。

声明在UITextInput.h 

UITextInputTextFontKey

字体的文本。 此键的值是一个UIFont对象。

iOS 3.2及更高版本。

声明在UITextInput.h 

讨论

风格NSDictionary对象用于标记的文本样式信息( markedTextStyle属性),并提供文本的样式信息在某个位置( textStylingAtPosition:inDirection:法)。


参考:

http://developer.apple.com/

google.com在线翻译


你可能感兴趣的:(UITextInput协议参考)