如何将自定义键盘设置为仅UITextField
?当我更改using this method时,我的应用程序中的所有键盘都将更改为这个新的自定义键盘。我补充说:
[[NSNotificationCenter defaultCenter] addObserver:self.view
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification
object:nil];
{p}在UIViewController
中。但是在转到UIView
之后,其他UIViewController
中的键盘也看起来像新的自定义键盘。如何将自定义键盘限制为仅UIView
个?请帮我。提前谢谢。
答案 0 :(得分:4)
UITextField* textField;
UIView* customKeyboard;
textField.inputView = customKeyboard;
答案 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];
}
}