繁体   English   中英

在pickerview文本字段上隐藏键盘

[英]hide keyboard on pickerview textfield

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

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

在此处输入图片说明

如果有人有想法解雇键盘。 请提供解决方案。

非常感谢你。

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

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

确定firstTextField处于活动状态后,尝试告诉secondTextFieldresignFirstResponder

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM