我有一个VC,其中有一个用于显示文本字段的inputAccessoryView(非常类似于消息应用程序)。当我将此视图推送到导航堆栈时,一切正常,这意味着表视图会调整其插图,以确保在该附件视图下没有任何滚动。但是,如果从该视图中按同一个视图控制器类的另一个实例,则将不会调整插图,并且表格的滚动将位于附件视图的后面。
仅在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];
});
}
这允许视图重绘插图
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句