我有UITextField
我可以点击,并编辑内容。我在使用:
[personalCountryLabel addTarget:self action:@selector(countryPressed) forControlEvents:UIControlEventEditingDidBegin];
这提供了另一个视图控制器。但是,当我单击后退按钮时,仍然选择UITextField,因此文本再次运行,将我发送回视图控制器。
我使用代码:
textField.enabled = false;
和
textField.enabled = true;
分别关闭和开启UITextField
的编辑,但是连续执行此操作并不会取消选择UITextField
。
如何以编程方式取消选择UITextField
(即行光标不再闪烁的位置)。
答案 0 :(得分:5)
如果我理解你正确的要求,你只需要:
[textField resignFirstResponder];
答案 1 :(得分:1)
/ *以编程方式取消选择此代码下面的Uitextfiels * /
UITextField *txtDeselect = [[UITextField alloc]initWithFrame:CGRectMake(self.view.frame.origin.x+20, self.view.frame.origin.y+20, self.view.frame.size.width-40, 40)];
[txtDeselect setBackgroundColor:[UIColor yellowColor]];
[txtDeselect setBorderStyle:UITextBorderStyleRoundedRect];
[txtDeselect setTextAlignment:NSTextAlignmentCenter];
[txtDeselect setText:@"Email"];
txtDeselect.enabled = NO;
[self.view addSubview:txtDeselect];
答案 2 :(得分:0)
你设置了插座和放大器吗?在视图控制器中委托UITextField? 你为什么要使用UItextfield?
我建议你在展示新的视图控制器之前使用其中一个:
选项1:
[youtextfield resignFirstResponder];
//请确保您连接插座& ....
你可以在viewWillAppear上调用它
选项2:
[self.view endEditing:YES]; // this regularly
happend after present another VC)
你不应该使用shouldEndEditing