zoukankan      html  css  js  c++  java
  • UITextField 长按文本框指定删除某个位置内容

    普通的光标移动,点键盘的删除键,会从最后一位删除,加一UITextField的分类即可

    #import <UIKit/UIKit.h>
    
    @interface UITextField (ExtentRange)
    - (NSRange) selectedRange;
    - (void) setSelectedRange:(NSRange) range;  
    @end
    
    #import "UITextField+ExtentRange.h"
    
    @implementation UITextField (ExtentRange)
    - (NSRange) selectedRange
    {
        UITextPosition* beginning = self.beginningOfDocument;
        
        UITextRange* selectedRange = self.selectedTextRange;
        UITextPosition* selectionStart = selectedRange.start;
        UITextPosition* selectionEnd = selectedRange.end;
        
        const NSInteger location = [self offsetFromPosition:beginning toPosition:selectionStart];
        const NSInteger length = [self offsetFromPosition:selectionStart toPosition:selectionEnd];
        
        return NSMakeRange(location, length);
    }
    
    - (void) setSelectedRange:(NSRange) range  // 备注:UITextField必须为第一响应者才有效
    {
        UITextPosition* beginning = self.beginningOfDocument;
        
        UITextPosition* startPosition = [self positionFromPosition:beginning offset:range.location];
        UITextPosition* endPosition = [self positionFromPosition:beginning offset:range.location + range.length];
        UITextRange* selectionRange = [self textRangeFromPosition:startPosition toPosition:endPosition];
        
        [self setSelectedTextRange:selectionRange];
    }  
    @end
    
    此文仅为鄙人学习笔记之用,朋友你来了,如有不明白或者建议又或者想给我指点一二,请私信我。liuw_flexi@163.com/QQ群:582039935. 我的gitHub: (学习代码都在gitHub) https://github.com/nwgdegitHub/
  • 相关阅读:
    windows服务等获取文件路径文件目录方法
    推荐几款很棒的 JavaScript 表单美化和验证插件
    在网站制作中随时可用的10个 HTML5 代码片段
    SQLServer数据排序
    SQL Join的一些总结
    3.14(链表练习)
    链表
    基数排序
    hdu-1198(并查集)
    hdu-1207(规律推导)
  • 原文地址:https://www.cnblogs.com/liuw-flexi/p/10199955.html
Copyright © 2011-2022 走看看