代码之家  ›  专栏  ›  技术社区  ›  S.P.

如何仅将自定义键盘设置为uitextfield

  •  1
  • S.P.  · 技术社区  · 16 年前

    如何将自定义键盘设置为仅特定于 UITextField ?当我改变的时候 using this method ,应用程序中的所有键盘都被更改为新的自定义键盘。我补充说:

    [[NSNotificationCenter defaultCenter] addObserver:self.view 
                                          selector:@selector(keyboardWillShow:) 
                                          name:UIKeyboardWillShowNotification 
                                          object:nil];
    

    在一个 UIViewController . 但是在去那之后 UIView ,键盘在其他 ui视图控制器 S看起来也像新的自定义键盘。如何将自定义键盘限制为一个 UIVIEW ?请帮帮我。事先谢谢。

    4 回复  |  直到 10 年前
        1
  •  4
  •   Community Mohan Dere    9 年前
    UITextField* textField;
    UIView* customKeyboard;
    
    
    textField.inputView = customKeyboard;
    

    类似线程: iPad custom Keyboard GUI

        2
  •  1
  •   Jasarien    16 年前

    如果子类化了uitextview(如本教程所示),那么该子类的所有实例都将使用带有disclose按钮的工具栏。

    如果不需要工具栏,那么不要使用子类,只需使用原始的uitextview。

        3
  •  1
  •   iDevZilla    16 年前

    您可以尝试检查需要在textfield上设置的textfield,如下所示:

    - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
        if (textField == YOUR_DESIRED_TEXTFIELD) {
            [self openCustomKeyboard];
        }
        return YES;
    }
    
        4
  •  1
  •   Tyler A.    10 年前

    我的问题是,一旦加载自定义键盘,它就会在应用程序的其他ui视图中随处可见。所以我检查了其他uikeyboard子视图中是否存在uitoolbar并将其删除。现在工作正常……

        for(UIView* keyboardToolbar in [keyboard subviews]){
            if([[keyboardToolbar description] hasPrefix:@"<UIToolbar"] == YES)
                {
                    [keyboardToolbar removeFromSuperview];      
                }
        }
    
    推荐文章