UITextField突出显示所有文本

Gin*_*ino 4 iphone selectall uitextfield ios7 xcode5

我已经通过stackoverflow搜索了类似的问题,并找到了适用于其他人的推荐解决方案,但没有一个对我有效,所以我开始怀疑这是我没有做好的事情.

这很简单.我想要的是,当用户点击uitextfield时,uitextfield中的整个文本都会被选中.然后,用户可以继续将其全部删除,点击一次并从该点开始追加或开始键入以覆盖所有内容.

我有一个来自uitextfield的动作,这里是片段.

- (IBAction)didBeginEditDescription:(id)sender
{
    NSLog(@"Description began edit.");

    [self.txtfield selectall:self];
}
Run Code Online (Sandbox Code Playgroud)

我知道该方法被调用(由NSLog显而易见).但是,没有任何反应,光标仍然位于文本的最后位置.我已经有了UITextFieldDelegate所以不确定我应该注意什么?

仅供参考,这是针对Xcode 5.0并尝试开发iOS 7.

我有什么明显的遗失吗?

Bha*_*vin 9

我想你想要突出显示所有选定的文字UITextField.在这种情况下,首先你应该确定哪个UITextField被调用的方法(-didBeginEditDescription),然后你可以调用-selectAll该特定的方法UITextField.

示例代码:

- (IBAction)didBeginEditDescription:(id)sender
{
    NSLog(@"Description began edit.");
    UITextField *txtFld = ((UITextField *)sender);
    [txtFld selectAll:self];
}
Run Code Online (Sandbox Code Playgroud)

更新:

-selectAll应该管用.我已经实施了,它对我来说非常好.请注意,您已经写了-selectall而不是-selectAll.你也可以尝试这样:

[txtFld setSelectedTextRange:[txtFld textRangeFromPosition:txtFld.beginningOfDocument toPosition:txtFld.endOfDocument]]; 
Run Code Online (Sandbox Code Playgroud)