如何选择UITextField中的所有文本?

时间:2014-08-09 22:58:16

标签: ios objective-c uitextfield

我有一个小项目,人们可以创建要在列表中显示的项目,当他们第一次创建项目时,它会得到一个通用名称:" New Item&#34 ;,所以我希望应用程序能够知道选择整个标题,以便用户更容易重命名。我上网并花了很长时间寻找一种方法,但我尝试过的每一种方式都出错了。这是我做过的最后一件事,以及我的代码的这一部分:

if ([self.detailItem.title isEqualToString:@"New Item"]) {

    self.titleField.selectedTextRange = nil;
}

但是我也试过了[self.titleField selectAll:self]但它也没有用,正如我所说的那样,我做过其他任何我尝试过的事情。

关于我应该做什么的任何想法?

如果您需要更多代码,请告诉我它的哪一部分,并将其编辑到此问题中。

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(0, 30, 320, 30)];
[self.view addSubview:textField];
textField.placeholder = @"my placeholder text";

答案 1 :(得分:1)

简单地适当设置所选范围:

if ([self.detailItem.title isEqualToString:@"New Item"]) {

    self.titleField.selectedRange = NSMakeRange(0, self.titleField.text.length);

}

答案 2 :(得分:0)

这对我来说效果更好:

- (void)selectAllTextInField:(UITextField *)textField {
    UITextPosition  *theStart   = [textField beginningOfDocument];
    UITextPosition  *theEnd     = [textField endOfDocument];
    UITextRange     *theRange   = [textField textRangeFromPosition:theStart toPosition:theEnd];
    [textField setSelectedTextRange:theRange];
}