我有一个小项目,人们可以创建要在列表中显示的项目,当他们第一次创建项目时,它会得到一个通用名称:" New Item&#34 ;,所以我希望应用程序能够知道选择整个标题,以便用户更容易重命名。我上网并花了很长时间寻找一种方法,但我尝试过的每一种方式都出错了。这是我做过的最后一件事,以及我的代码的这一部分:
if ([self.detailItem.title isEqualToString:@"New Item"]) {
self.titleField.selectedTextRange = nil;
}
但是我也试过了[self.titleField selectAll:self]
但它也没有用,正如我所说的那样,我做过其他任何我尝试过的事情。
关于我应该做什么的任何想法?
如果您需要更多代码,请告诉我它的哪一部分,并将其编辑到此问题中。
感谢您的帮助。
答案 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];
}