代碼設置textField文字的選中

        用戶長按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屬性可以使用。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章