用户长按textField会出现一个menu(UIMenuController),menuItem包括select和selectAll,选择select或selectAll会自动选中某些文字。内部实现其实非常简单,只需重写这两个函数即可:
- (void)select:(id)sender; - (void)selectAll:(id)sender
代码实现如下:
- (void)selectAll:(id)sender{ UITextPosition *beginingOfDoc=self.beginningOfDocument; UITextPosition *startPos = [self positionFromPosition:beginingOfDoc offset:0]; UITextPosition *endPos = [self positionFromPosition:beginingOfDoc offset:self.text.length]; UITextRange *selectionRange= [self textRangeFromPosition:startPos toPosition:endPos]; [self setSelectedTextRange:selectionRange]; }
说明:textField设置选中文字是通过设置其selectedTextRange属性来实现的,因此这里使用setSelectedTextRange函数来选中textField的所有文本。此外,如果接下来要将选中的文本执行copy操作,唯一的办法就是根据选中文本的range(self.selectedTextRange)来将对应的文本放入黏贴板,而没有所谓的selectedText属性可以使用。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。