旧SDK解决方案:
- (void)modifyKeyboard:(NSNotification *)notification
{
UIView *firstResponder = [[[UIApplication sharedApplication] keyWindow] performSelector:@selector(firstResponder)];
for (UIWindow *keyboardWindow in [[UIApplication sharedApplication] windows])
for (UIView *keyboard in [keyboardWindow subviews])
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
{
MyFancyKeyboardView *customKeyboard = [[MyFancyKeyboardView alloc] initWithFrame: CGRectMake(0, 0, keyboard.frame.size.width, keyboard.frame.size.height);
[keyboard addSubview: customKeyboard];
[customKeyboard release];
}
}
按照上面的方法,我现在发现iOS4是不同的。不起作用。我确信这是由于命名子视图(或排序)的差异。对于iphone SDK 4,有谁知道如何解决同样的问题?
答案 0 :(得分:6)
你可以看一下这篇文章: http://www.neoos.ch/news/46-development/54-uikeyboardtypenumberpad-and-the-missing-return-key
它解决了该问题,适用于所有版本的SDK
答案 1 :(得分:5)
是。 iOS 4支持自定义输入视图 - 您可以通过设置响应者的MyFancyKeyboardView
将您自己的UITextField
替换为任何UIResponder继承类(例如UITextView
和inputView
)的键盘属性。
答案 2 :(得分:3)
4.1 SDK现在有一个你正在尝试做的UIKeyboardTypeDecimalPad,对吗?
答案 3 :(得分:0)
对于ios 5,似乎不起作用。但是当我改变这样的代码时:
将 UIKeyboard 更改为 UIPeripheralHostView
它有效。我希望它对其他开发人员有用。