我发现了我自己的问题的解决方案。
下面是适用于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];
}
}
}
}
但是,我仍然得到这样的警告: -
找不到keyplane支持类型为4键盘iPhone-Portrait-NumberPad;使用3876877096_Portrait_iPhone-Simple-Pad_Default
忽略此警告我得到它的工作。
希望这可以帮助任何人。
来源
2014-09-23 05:12:11
iGW