我是 xCode 和 Objective C 的新手。我正在开发一个简单的计算器应用程序,只是为了学习... 我已尽我所能,通过谷歌搜索并搜索来寻找答案,但仍卡在一些事情上......
我有一个文本字段,当有人单击 UIPickerView 时,它会获取一个值。这工作正常,但是当我使用下面的代码单击“完成”按钮时,它会保持焦点。 我已经尝试过 EndFirstRepsonder 和 EndEditing,但都没有删除闪烁的光标...
顺便说一句,动画仅在显示时有效,并且无法隐藏...
//Show Picker Wheel
- (IBAction)showPickerWheel:(id)sender
{
//This line hides the default keyboard
[sender resignFirstResponder];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.6];
CGAffineTransform transfrom = CGAffineTransformMakeTranslation(0, 20);
_pickerViewContainer.transform = transfrom;
_pickerViewContainer.alpha = 1;
[UIView commitAnimations];
}
//Hide Picker Wheel
- (IBAction)hidePickerWheel:(id)sender
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.6];
CGAffineTransform transfrom = CGAffineTransformMakeTranslation(0, 20);
_pickerViewContainer.transform = transfrom;
_pickerViewContainer.alpha = 0;
[UIView commitAnimations];
}
最佳答案
您需要像这样在 didEndEditing 委托(delegate)方法中 resignFirstResponder:
(BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
关于ios - 单击完成按钮后 UITexfled 保持焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20842391/