我正在尝试使用UITextField
属性(从selectedTextRange
获得)来建立UITextInput
protocol实例的文本选择的开始和结束位置。但是,我不知道如何访问组成UITextPosition
的start
和end
属性的selectedTextRange
对象的属性。
Apple's docs on UITextPosition此时很可怜,没有提供方法或属性,虽然我知道对象中有这样的属性,因为NSLogging给出了这样的:
<UITextPositionImpl: 0x6aaeb60>
<<WebVisiblePosition: 0x6aa40e0>(offset=5, context=([s|a], [u+0073|u+0061])>
在这个例子中,'offset'是正确的,上下文显示了选择点('s'和'a')两侧的字符,但我不知道如何访问这个模糊的WebVisiblePosition
类。那么,简而言之,有没有办法从UITextPosition
使用UITextField
对象检索我想要的细节?
当然,在问我的问题后,我找到了答案,在这个问题中:UITextPosition in UITextField。
似乎当用作UITextField
的一部分时,UITextPosition
对象并不意味着直接修饰,而是用于喂养其他方法。在这种情况下,方法offsetFromPosition:toPosition:
以及文本字段属性beginningOfDocument
可用于返回选择索引的NSInteger
。