如何将自定义键盘设置为仅限于UItextfield

时间:2010-07-16 13:36:23

标签: iphone keyboard uikeyboard

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

[[NSNotificationCenter defaultCenter] addObserver:self.view 
                                      selector:@selector(keyboardWillShow:) 
                                      name:UIKeyboardWillShowNotification 
                                      object:nil];
{p}在UIViewController中。但是在转到UIView之后,其他UIViewController中的键盘也看起来像新的自定义键盘。如何将自定义键盘限制为仅UIView个?请帮我。提前谢谢。

4 个答案:

答案 0 :(得分:4)

UITextField* textField;
UIView* customKeyboard;


textField.inputView = customKeyboard;

类似帖子:iPad custom Keyboard GUI

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    if (textField == YOUR_DESIRED_TEXTFIELD) {
        [self openCustomKeyboard];
    }
    return YES;
}

答案 3 :(得分:1)

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

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