我从iOS 5开始就有了iOS应用程序,它包括一个自定义的UITextView,它使用自己的inputView和inputAccessoryView。它与iOS 7模拟器一起工作,当它becomeFirstResponse时,inputView和inputAccessoryView都显示,但与iOS 8模拟器一起工作,只关联inputView显示,inputAccessoryView不显示。
我使用的是Xcode 6 GM种子
HeInput_TextView.m
- (void)awakeFromNib
{
self.text = @"";
heKeyboard4x5 = [[HeKeyboard_ViewController alloc] init];
inputAccessoryVC = [[InputAccessory_ViewController alloc] init];
self.inputView = heKeyboard4x5.view;
self.inputAccessoryView = inputAccessoryVC.view;
}
这是iOS 8模拟器中的错误还是iOS 8的更改?
编辑:
我找到了关于这个问题的更多信息。
这个问题发生在基于页面的应用程序中,如果UIPageViewController的页面中有一个UITextView,那么UITextView.inputAccessoryView不会显示在iOS 8模拟器中,而是显示在iOS 7.1模拟器中。
我创建了两个项目:“基于单视图的应用程序”和“基于页面的应用程序”,并确认问题的发生如上所述。
发布于 2014-09-14 15:55:02
这是Xcode6中模拟器的新行为。要查看您的自定义附件视图,甚至是默认的,请尝试取消选中hardware ->模拟器->连接hardware键盘。
发布于 2014-09-29 06:56:16
这是一个iOS8错误。
你可以在苹果联系人应用程序的模拟器上重现它。
添加新联系人并向下滚动到“添加日期”。
同样的问题。一位同事养了一台苹果雷达。
发布于 2014-10-03 04:42:50
我发现iOS8中的视图附件不会使用视图的边框来抵消InputView (甚至是默认的软件键盘)上方的高度。
您可能需要确保您的inputAccessoryView实现
-(CGSize)intrinsicContentSize
例如:
@implementation InputAccessory_View
// .. your code ...
-(CGSize)intrinsicContentSize{
return self.frame.size;
}
@end
https://stackoverflow.com/questions/25834851
复制