Ios8 ViewController可以成为iOS 8的第一响应程序

Ios8 ViewController可以成为iOS 8的第一响应程序,ios8,inputaccessoryview,Ios8,Inputaccessoryview,我有一个VC,它有一个inputAccessoryView,用于显示文本字段(很像messages应用程序)。当我将此视图推到导航堆栈上时,一切正常,我的意思是tableview调整其插入,以确保没有任何内容在附件视图下滚动。但是,如果从该视图中,我推上同一视图控制器类的另一个实例,则不会调整插入,并且表的滚动将在附件视图后面 此问题仅在iOS 8中出现。另一件有趣的事情是,如果你在附件视图中点击打开键盘,插入部分会被正确调整,使键盘可见,当键盘隐藏时,插入部分也会被正确调整 此外,如果您没有单

我有一个VC,它有一个inputAccessoryView,用于显示文本字段(很像messages应用程序)。当我将此视图推到导航堆栈上时,一切正常,我的意思是tableview调整其插入,以确保没有任何内容在附件视图下滚动。但是,如果从该视图中,我推上同一视图控制器类的另一个实例,则不会调整插入,并且表的滚动将在附件视图后面

此问题仅在iOS 8中出现。另一件有趣的事情是,如果你在附件视图中点击打开键盘,插入部分会被正确调整,使键盘可见,当键盘隐藏时,插入部分也会被正确调整

此外,如果您没有单击文本字段来解决问题,并回击上一个VC也会被破坏


根据以上信息,我相当肯定这是一个iOS 8错误。我希望有人已经看到了这一点,并提出了半合理的解决方案。

令人讨厌的解决方案,但仍然是一个解决方案:

    - (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [self.inputAccessoryView.inputAccessoryTextField becomeFirstResponder];
        [self.inputAccessoryView.inputAccessoryTextField resignFirstResponder];
    });
}
这允许视图重新绘制插图