[英]Xcode 6.0 iOS 8 KeyboardTypeNumberPad button not visible
我正在使用xcode 6 ios 8.0构建我的应用程序。 我有一个带有keyboardType UIKeyboardTypeNumberPad的UITextField,并向键盘添加了完成按钮,但是它们在ios 8.0 xcode 6.0中不起作用。 直到最新版本的ios 7.1.2正常工作为止。
我订阅了以下方法调用中显示通知和显示按钮的键盘。
另外,我得到以下日志:-在ios 7.1.2之前,我没有任何日志。
找不到支持键盘iPhone-Portrait-NumberPad的类型4的键盘; 使用3876877096_Portrait_iPhone-Simple-Pad_Default ios 8.0
面临此问题的任何人。 提前致谢。
我找到了解决自己问题的方法。
以下是适用于iOS 8.0以及以下版本的代码。
我已经在iOS 7和8.0(Xcode版本6.0.1)上对其进行了测试。
UIWindow* tempWindow;
UIView* keyboard;
for (UIWindow *window in [[UIApplication sharedApplication] windows])
{
if ([NSStringFromClass([window class]) isEqualToString:@"UITextEffectsWindow"])
{
tempWindow = window;
break;
}
}
for(int i = 0 ; i < [tempWindow.subviews count] ; i++)
{
keyboard = [tempWindow.subviews objectAtIndex:i];
// keyboard found, add the button
if([[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES){
[keyboard addSubview:self.doneButton];
}
//This code will work on iOS 8.0
else if([[keyboard description] hasPrefix:@"<UIInputSetContainerView"] == YES){
for(int i = 0 ; i < [keyboard.subviews count] ; i++)
{
UIView* hostkeyboard = [keyboard.subviews objectAtIndex:i];
if([[hostkeyboard description] hasPrefix:@"<UIInputSetHost"] == YES){
[hostkeyboard addSubview:self.doneButton];
}
}
}
}
但是,我仍然收到此警告:
找不到支持键盘iPhone-Portrait-NumberPad的类型4的键盘; 使用3876877096_Portrait_iPhone-Simple-Pad_Default
忽略此警告后,我开始工作了。
希望这对任何人有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.