• UITextField点击选中文字


    1、先创建UITextField

    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        self.view.backgroundColor = [UIColor greenColor];
        
        
        UITextField *TextF = [[UITextField alloc] initWithFrame:CGRectMake(10, 150, 200, 40)];
        
        TextF.borderStyle = UITextBorderStyleRoundedRect;
        TextF.text = @"11";
        TextF.delegate = self;
        [self.view addSubview:TextF];
        
        [TextF becomeFirstResponder];
        
        
        
    }
    

     2、不要在textFieldShouldBeginEditing里面实现,因为endDocument取出来为nil.

    在textFieldDidBeginEditing里面实现

    -(void) textFieldDidBeginEditing:(UITextField *)textField
    {
        NSLog(@"%@",textField.selectedTextRange);
        UITextPosition *endDocument = textField.endOfDocument;//获取 text的 尾部的 TextPositext
        
        UITextPosition *end = [textField positionFromPosition:endDocument offset:0];
        UITextPosition *start = [textField positionFromPosition:end offset:-textField.text.length];//左-右+
        textField.selectedTextRange = [textField textRangeFromPosition:start toPosition:end];
    }
    

    3、另外可以利用shouldChangeCharactersInRange实现补全选中的功能

    哦,如果反复点击textfiled出现第一次选中,第二次选中的状态的话,如果想一直被选中

    - (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
        UITextPosition *beginDocument = textField.beginningOfDocument;
        UITextPosition *end = [textField positionFromPosition:beginDocument offset:0];
        UITextPosition *start = [textField positionFromPosition:beginDocument offset:0];//左-右+
        textField.selectedTextRange = [textField textRangeFromPosition:start toPosition:end];
        return YES;
    }
    
    ps:
    [textField performSelector:@selector(selectAll:) withObject: textField];
    也可以有选中效果,至于效果,因需求而异
    

      

    textFieldShouldEndEditing

    中实现

  • 相关阅读:
    链表10-开发可用链表(使用链表)
    LRU简单实现
    图片服务器搭建过程
    scp
    dubbo-admin无法访问
    linux tomcat启动后无法访问
    linux进程端口防火墙
    centos7 jdk
    com.alibaba.dubbo.rpc.RpcException: Fail to start server(url: dubbo://192.16。。
    linux与Unix切换到root用户
  • 原文地址:https://www.cnblogs.com/GJ-ios/p/6847664.html
Copyright © 2020-2023  润新知