【问题标题】:hide keyboard on pickerview textfield在pickerview文本字段上隐藏键盘
【发布时间】:2011-12-12 11:04:49
【问题描述】:

我已经实现了一个视图,其中有两个文本字段。在第一个文本字段中,当用户单击它时,会显示选择器视图。当用户单击其他文本字段时,将显示键盘。但是当用户从第二个文本字段转到第一个文本字段时,它仍然显示键盘,并且该键盘背面有一个选择器视图。当用户从第二个文本字段移动到第一个文本字段而不按键盘完成按钮时,我无法退出此键盘。

 -(void)textFieldDidBeginEditing:(UITextField *)myTextField
  {  
  if(myTextField == firsttextfield)
  {
    [firsttextfield resignFirstResponder];
    medicationtypepicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0,190,320,215)];
    medicinetypearray = [[NSMutableArray alloc]initWithObjects:@"Capsules",@"Eyedrops", 
    @"Eardrops",@"Nosedrops",@"Inhaler",@"Syrup",@"Injections",@"Oils",@"Ointment", nil];
    medicationtypepicker.delegate = self;
    medicationtypepicker.showsSelectionIndicator = YES;
    medicationtypepicker.autoresizingMask = UIViewAutoresizingFlexibleWidth;
    [self.view addSubview:medicationtypepicker];
   }

}

   -(BOOL)textFieldShouldReturn:(UITextField *)textField
    {
     [secondtextfield resignFirstResponder];
     return YES;
     }

如果有人想关闭键盘。请提供解决方案。

非常感谢。

【问题讨论】:

    标签: iphone iphone-softkeyboard


    【解决方案1】:

    听起来您的问题的正确解决方案是将第一个文本字段的inputView 属性设置为选择器视图。

    让您的视图控制器在出现“药物详细信息”屏幕时创建和配置选择器,并将该选择器分配给第一个文本字段的inputView。然后,当用户从一个字段移动到另一个字段时,键盘或选择器将自动显示,而您不必胡乱地放弃第一响应者等等。

    【讨论】:

    • 110% 正确。这将用 pickerView 替换键盘,因此当该文本字段处于活动状态时,键盘将被关闭并且您的选择器视图将处于活动状态!
    【解决方案2】:

    在确定firstTextField 处于活动状态后,尝试将secondTextField 也告诉resignFirstResponder

     -(void)textFieldDidBeginEditing:(UITextField *)myTextField
      {  
         if(myTextField == firsttextfield)
         {
            [firsttextfield resignFirstResponder];
            [secondtextfield resignFirstResponder];
            medicationtypepicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0,190,320,215)];
            ....
          }
       }  
    

    【讨论】:

    • 这似乎太明显了。试试迦勒的回答。它确实看起来像你想要的。
    【解决方案3】:

    检查您的文本字段的属性“退出时结束”是否与“文件所有者”正确连接。然后使用; -(void)textFieldDidBeginEditing:(UITextField *)myTextField
    { if(myTextField == firsttextfield)
    {
    ...
    [secondtextfield resignFirstResponder]; ...... } }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-20
      • 2014-03-18
      • 2011-01-19
      • 1970-01-01
      • 1970-01-01
      • 2018-12-22
      • 2019-08-20
      • 2021-05-07
      相关资源
      最近更新 更多