Ios8 InputAccessoryView在iOS 8模拟器上不显示

Ios8 InputAccessoryView在iOS 8模拟器上不显示,ios8,simulator,inputaccessoryview,Ios8,Simulator,Inputaccessoryview,从iOS 5开始,我就有了iOS应用程序,它包括一个自定义的UITextView,它使用自己的inputView和inputAccessoryView。它适用于iOS 7模拟器,当它成为第一个响应时,inputView和inputAccessoryView都会显示,但对于iOS 8模拟器,只有关联的inputView显示,inputAccessoryView不会显示 我使用的是Xcode 6转基因种子 HeInput_TextView.m - (void)awakeFromNib { s

从iOS 5开始,我就有了iOS应用程序,它包括一个自定义的UITextView,它使用自己的inputView和inputAccessoryView。它适用于iOS 7模拟器,当它成为第一个响应时,inputView和inputAccessoryView都会显示,但对于iOS 8模拟器,只有关联的inputView显示,inputAccessoryView不会显示

我使用的是Xcode 6转基因种子

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模拟器中显示


我创建了两个项目:“基于单视图的应用程序”和“基于页面的应用程序”,并确认问题如上所述发生。

这是xcode 6中模拟器的新行为。要查看您的自定义附件视图,甚至是默认视图,请尝试取消选中硬件->模拟器->连接硬件键盘。

这是一个iOS8错误

你可以在苹果联系人应用程序的模拟器上复制它

添加新联系人并向下滚动至“添加日期”


同样的问题。一位同事提出了一个apple rdar。

我发现iOS8中的视图附件没有使用视图框架来偏移其在InputView(甚至是默认的软件键盘)上的高度

您可能需要确保inputAccessoryView实现

-(CGSize)intrinsicContentSize
例如:


对不起,我误读了这个项目。iOS8的键盘问题让我兴奋不已。

我取消了硬件->键盘->连接硬件键盘,inputAccessoryView仍然没有在iPhone5(8.0)上显示,但在iPhone5(7.1)上显示。@heMac我正在我的项目中使用。它具有自定义InputAccessoryView。工作正常的是模拟器6 ios 8。您可以签出项目测试,并可能从工作代码中观察到一些想法。@nyekimon谢谢,此示例说服InputAccessoryView在iOS 8模拟器上显示,因此该程序在我的项目中。感谢否决投票!这是一个错误,在联系人应用程序中,无法输入连接硬件键盘的日期。这种预期行为是如何发生的?在iOS8.1中已修复,这是一个bug。详细说明inputAccessoryView的解决方法-您将如何建议干净地检测inputView是否已被物理键盘隐藏,是否应将其内容推入inputAccessoryView?否则,非物理键盘用户将在屏幕上拥有相当于两个输入视图的功能。(键盘+inputAccessoryView)视图控制器没有帧
@implementation InputAccessory_View
// .. your code ...
-(CGSize)intrinsicContentSize{
    return self.frame.size;
}
@end