1

如何将自定义键盘设置为仅特定于一个UITextField?当我使用这种方法进行更改时,我的应用程序中的所有键盘都更改为这个新的自定义键盘。我补充说:

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

在一个UIViewController。但是在这样做之后UIView,其他UIViewControllers中的键盘看起来也像新的自定义键盘。如何将自定义键盘限制为只有一个UIView?请帮我。提前致谢。

4

4 回答 4

4
UITextField* textField;
UIView* customKeyboard;


textField.inputView = customKeyboard;

类似主题:iPad 自定义键盘 GUI

于 2011-04-01T21:07:17.167 回答
1

如果您将 UITextView 子类化(如该教程所示),则该子类的所有实例都将使用带有关闭按钮的工具栏。

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

于 2010-07-16T13:43:03.377 回答
1

您可以尝试在 textFieldShouldBeginEditing 上检查所需的文本字段,如下所示:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    if (textField == YOUR_DESIRED_TEXTFIELD) {
        [self openCustomKeyboard];
    }
    return YES;
}
于 2010-07-16T13:44:30.947 回答
1

我的问题是曾经加载自定义键盘,它仍然存在于应用程序的其他 UIviews 中。所以我在其他 UIkeyboard 子视图中检查了 UIToolbar 的存在并删除了。现在它工作正常..

    for(UIView* keyboardToolbar in [keyboard subviews]){
        if([[keyboardToolbar description] hasPrefix:@"<UIToolbar"] == YES)
            {
                [keyboardToolbar removeFromSuperview];      
            }
    }
于 2010-07-19T06:12:09.793 回答