UIModalPresentationFormSheet中的UITextView冻结app iOS 10

时间:2016-09-23 01:22:47

标签: ios objective-c uitextview ios10

我在视图控制器中有一个UITextView,我使用模态表单

vc.modalPresentationStyle = UIModalPresentationFormSheet;
[AppDelegate.rootController presentViewController:vc animated:YES completion:nil];
直到iOS 9.3,一切都很顺利。然后是iOS 10 / 10.0.1

有了这个,每当用户点击文本字段内部以调出键盘时,应用程序就会冻结。我无法弄清楚原因。 我尝试将UITextView作为第一响应者。这样可以很好地启动键盘,我可以在VC上键入并按下一个按钮来执行操作。 VC和键盘都被解雇了。但同样,如果没有按下按钮,如果我试图简单地关闭键盘,应用冻结。

任何人都有任何想法吗?

2 个答案:

答案 0 :(得分:1)

今天早些时候正在经历这样的事情。 我的修复方法如下(不确定为什么,iOS 10中必须更改的内容)。

在遗留代码中:

- (void)viewWillLayoutSubviews {
    self.view.superview.bounds = CGRectMake(0,self.view.superview.bounds.origin.y, 768, 256);
    [super viewWillLayoutSubviews];
}

删除它解决了我的问题。

答案 1 :(得分:1)

我将代码从viewWillLayoutSubviews移至viewDidLayoutSubviews。它不再冻结了。看起来像iOS 10的bug。

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    self.view.superview!.bounds = CGRectMake(0,0, 500, 300)
}