2017-07-07 34 views
0

我有包含UIPickerViewDone button的视图,它被指定为textField的inputView。从选取器视图中选择任意行并点击Done应用程序意外freezing。在冻结时间附加了堆栈跟踪屏幕截图。请让知道这是否由于某些奇怪的线程行为。当从UIPickerView中选择行后点击完成按钮时,应用程序冻结

enter image description here

enter image description here

+0

显示您的代码。并在哪条线路崩溃。向您显示崩溃后的控制台日志。 –

+0

应用程序冻结不会崩溃...它简单的按钮完成操作。 6-7秒后,一切正常。 –

+0

添加完成按钮单击操作的代码。你正在做一些操作,这是阻止主线程 – Subramanian

回答

0
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
//here everything you want to perform in background 

dispatch_async(dispatch_get_main_queue(), ^{ 
    //call back to main queue to update user interface 
}); 
}); 

我认为这是对你的帮助: 见堆,此网址在流动

enter link description here

0

最后这个问题解决了。我的- (void)keyboardWillHide:(NSNotification *)notification通知方法中存在以下代码,导致应用冻结。

[UIView animateWithDuration:keyboardAnimationDuration.floatValue animations:^{ 

    self.tableView.contentInset = UIEdgeInsetsZero; 

    self.tableView.scrollIndicatorInsets = UIEdgeInsetsZero; 

    }]; 

应用程序冻结的问题是消除[UIView animateWithDuration:keyboardAnimationDuration.floatValue animations:^{}];

最后解决后,下面的代码工作,现在的应用程序不能结冰了。

self.tableView.contentInset = UIEdgeInsetsZero; 

    self.tableView.scrollIndicatorInsets = UIEdgeInsetsZero; 
相关问题