从UIPickerView中选择行后单击完成按钮时应用程序冻结

时间:2017-07-07 07:11:30

标签: ios objective-c iphone uibutton

我的视图由UIPickerViewDone button组成,并被指定为textField的inputView。从选择器视图中选择任何一行并点击Done应用程序后,就会毫无疑问freezing。我在冻结的时候附加了堆栈跟踪屏幕截图。如果这是由于奇怪的线程动作,请告诉我们。

enter image description here

enter image description here

2 个答案:

答案 0 :(得分: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
});
});

我认为这对你有所帮助: 请参阅此流量堆栈的URL

enter link description here

答案 1 :(得分: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;