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;
   }

}