2016-09-23 27 views
2

我有一個視圖控制器內一個UITextView我提出使用模式窗體片的UITextView在UIModalPresentationFormSheet凍結應用的iOS 10

vc.modalPresentationStyle = UIModalPresentationFormSheet; 
[AppDelegate.rootController presentViewController:vc animated:YES completion:nil]; 

一切都很好,直到9.3的iOS。然後來到iOS 10/10.0.1

有了這個,每當用戶在文本框內點擊以調出鍵盤時,應用程序就會凍結。我無法弄清楚爲什麼。 我試着把UITextView作爲第一響應者。這會觸發鍵盤,我可以鍵入並點擊VC上的按鈕來採取行動。 VC和鍵盤都被解僱了。但是,再次,如果沒有按下按鈕,如果我試圖簡單地關閉鍵盤,應用程序凍結。

任何人的任何想法?

+0

您對此問題有任何解決方法嗎?如果我重寫viewWillLayoutSubviews,則面臨同樣的問題。 – xdev

回答

1

我將我的代碼從viewWillLayoutSubviews移到viewDidLayoutSubviews。它不再凍結。看起來像我的一個iOS 10的bug。

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

這是正確的解決方案。我們意識到由於某種原因viewWillLayout不斷被調用,從而阻止任何其他應用程序的操作 – XConfusion

1

今天早些時候正在經歷類似的事情。 對我來說這個修復程序如下(不確定爲什麼,iOS 10中必須改變的東西)。

在遺留代碼:

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

刪除它固定我的問題。

+0

你在這裏得到的代碼是否是解決方案?我嘗試了下面的代碼,但仍然導致凍結://此功能導致凍結覆蓋func viewWillLayoutSubviews(){self.view.superview!.bounds = CGRectMake(0,0,500,300) super.viewWillLayoutSubviews () } – xdev

相關問題