使用PopOver时无法重新键入键盘

时间:2013-04-09 07:10:43

标签: iphone ios ipad

在我的iPad应用程序中有3个文本框,我在第二个文本框中使用popoverview控制器。 这里有2例

在第一种情况下:

当我完成编辑第一个文本框并单击键盘上的下一个按钮时,键盘完全退出,并在第二个文本框上打开popoverview控制器。在第一个文本框的下一个按钮单击时,我已经编写了代码那时第二个文本框应该成为FirstResponder。

在第二种情况下:

这是实际问题, 当我完成编辑第一个文本框并直接触摸第二个文本框而不单击键盘上的下一个按钮时,那个时候popoverview控制器菜单在第二个文本框上打开而键盘无法辞职,键盘正在敲击我的代码以便重新签名键盘不工作。

4 个答案:

答案 0 :(得分:0)

使用此波纹管方法编写您在键盘的NEXT按钮事件中使用的代码...

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
    if (textField == yourFirstTextBox) {
       // write your code here   
    }
    return YES;
}

答案 1 :(得分:0)

-(void)textFieldDidBeginEditing:(UITextField *)textfield
{

    if ([textfield tag]==yourtextfieldtag)//set tag for your textfield
    {
       [yourfirsttextfield  resignFirstResponder];
       [yoursecondtextfield  resignFirstResponder];
       .
       .
       .

     //Write all textField with resignFirstResponder
     }

 }

答案 2 :(得分:0)

以下是处理SoftKeypad

的方法
  

Handling Soft Keypad in iPhone Tutorial

这里有三种简单的方法来处理键盘

  1. 按键点击时,键盘会返回。
  2. 当用户点击键盘上的Return或Done按钮时,键盘会返回。
  3. 当用户触摸背景屏幕/视图时,键盘返回。
  4. 在你的情况下,请按照第三种方式。 你需要做的只是创建一个调用方法

    所需文本字段的方法。

    并在Interface Builder中更新了UIControl的UIView类。 因为我已经逐步编写了所有信息,以使其更加简单明了。

    这是负责任的代码片段

    - (IBAction)keypadGoBack:(id)sender {    
        [userNameTextField resignFirstResponder];
        [passwordTextField resignFirstResponder];
    }
    

    希望这会对你有所帮助。

答案 3 :(得分:0)

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    if(textField==yourTextField)
    {
        [self.view endEditing:YES];
        // Write Your Popoverview Code / Extra Code
        return NO;
    }
    return YES;
}
  1. 此处将在您点击文本字段时调用此方法。
  2. 使用yourtextFieldName查看文本字段,如果匹配..将重新签名所有键盘。如果还有多个也可以...借助。

    [self.view endEditing:YES];

  3. 你可以做额外代码也适用于popoverview并且返回no意味着它不会给那个perticuler textField提供键盘。 感谢。