zoukankan      html  css  js  c++  java
  • 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

    中实现

  • 相关阅读:
    【loj2639】[Tjoi2017]不勤劳的图书管理员
    【bzoj3514】Codechef MARCH14 GERALD07加强版
    BZOJ1002【FJOI2007】轮状病毒
    数论基础(附加例题)
    表达式总结
    背包
    hdu1027
    hdu1026
    hdu1025
    hdu1024
  • 原文地址:https://www.cnblogs.com/GJ-ios/p/6847664.html
Copyright © 2011-2022 走看看