首页 > 代码库 > UITextField点击选中文字
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
中实现
UITextField点击选中文字
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。