iOS:UITextField selectAll + Editing Did开始不起作用

时间:2011-09-15 13:07:47

标签: objective-c ios xcode4 uitextfield selectall

当用户点击字段开始编辑时,我正在尝试在UITextField中选择文本。我们的想法是,通常情况下,他们会先删除整个字段,这样就省去了双击并选择所有字段的步骤。

·H

- (IBAction)urlEditingDidBegin: (id)sender;

的.m

- (IBAction)urlEditingDidBegin:(id)sender
{
    NSLog(@"Select Contents");

    [sender setText:@"Why isn't this working"];
    [sender selectAll:self];
}

在界面构建器中,我将UITextField的“Editing Did Begin”事件连接到文件的所有者,并将其连接到我的urlEditingDidBegin方法。

当我点击UITextField时,该字段中的文本将更改为“为什么不能正常工作”,这证明该方法正在触发并且发件人是正确的,但是文本没有选择。

我做错了什么?

3 个答案:

答案 0 :(得分:3)

通常,如果您想让用户轻松清除文字,请在xib中将清除按钮设置为“在编辑时显示”或通过调用

添加清除

[textField setClearButtonMode:UITextFieldViewModeWhileEditing];

以编程方式选择文本听起来很诱人,但我认为你会遇到更多问题,因为它往往会打开编辑菜单。

答案 1 :(得分:1)

实际上选择了文字但没有任何视觉反馈。 例如,请查看this answer

答案 2 :(得分:0)

将委托设置为self并在.h文件中传递<UITextFieldDelegate>