Iphone 选择另一个UIExtField时隐藏键盘w/UIPickerView错误
当用户选择Iphone 选择另一个UIExtField时隐藏键盘w/UIPickerView错误,iphone,xcode,uitextfield,uipickerview,Iphone,Xcode,Uitextfield,Uipickerview,当用户选择UITextField时,我试图隐藏键盘。我目前有三个文本字段:两个UIPickerView(由同一个选择器控制)和一个textinput字段。当我点击“返回”或在后台时,键盘会通过一个resignFirstResponder呼叫消失 问题: 当我当前编辑文本输入字段,然后立即选择UITextFieldw/UIPickerView功能时,键盘不会消失。我觉得我已经试过了所有的解决方法,我的头撞到了墙上 代码: 任何帮助都将不胜感激。提前谢谢 王子的编辑代码: - (BOOL)textF
UITextField
时,我试图隐藏键盘。我目前有三个文本字段:两个UIPickerView
(由同一个选择器控制)和一个textinput字段。当我点击“返回”或在后台时,键盘会通过一个resignFirstResponder
呼叫消失
问题:
当我当前编辑文本输入字段,然后立即选择UITextField
w/UIPickerView
功能时,键盘不会消失。我觉得我已经试过了所有的解决方法,我的头撞到了墙上
代码:
任何帮助都将不胜感激。提前谢谢
王子的编辑代码:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; // return NO to disallow editing.
{
//set logic for picker view here
if (textField == fldQuiver)
{
variabla = 1;
}
else if (textField == fldCategory) {
variabla = 2;
}
else
{
}
NSLog(@"variabla %d",variabla);
[pickerView reloadAllComponents];
if (textField == fldQuiver)
{
[fldTitle resignFirstResponder];
[pickerView setHidden:NO];
return NO;
}
else if (textField == fldCategory) {
[fldTitle resignFirstResponder];
[pickerView setHidden:NO];
return NO;
}
else
{
[pickerView setHidden:YES];
return YES;
}
}
另外:我已经“合成”并声明了@property
fldQuiver
和fldCategory
。我有IBOutlet
用于fldTitle
,fldQuiver
,fldCategory
pickerView
加载了一个基于变量的数组 为文本字段设置委托
textField.delegate=self;
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
...........
[textField resignFirstResponder]; //it common for all text field,so not use multi resignFirstResponder
............
}
为此使用
textfield shouldbeginediting
委托
方法:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; // return NO to disallow editing.
{
//set logic for picker view here
if (textField == fldQuiver)
{
//picker view hidden or show here
return NO;
}
else if (textField == fldCategory) {
//picker view hidden or show here
return NO;
}
else
{
return YES;
}
}
在.h文件中,ex@interface filename:UIViewControllerI实现了这段代码——请参见我的编辑。它不会向选择器加载内容,当我编辑文本输入字段(fldTitle),然后选择fldCategory或fldQuiver时,键盘仍会显示。此外,不确定您的评论是什么意思,因此我可能做得不对。。。抱歉,我的知识有限pickerview加载了基于variabla的数组。请参阅我原始帖子中的解决方案。。。希望这能帮到别人,省去他们几天四处看看的时间。谢谢你,王子。。。。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; // return NO to disallow editing.
{
//set logic for picker view here
if (textField == fldQuiver)
{
//picker view hidden or show here
return NO;
}
else if (textField == fldCategory) {
//picker view hidden or show here
return NO;
}
else
{
return YES;
}
}