0
UITableActionのブロックを実行すると、UITableView全体がフリーズすることがあります。タップやスクロールに応答しません。しかし、ページの残りの部分は応答性があります。この動作は次のようになりますUITableViewActionでテーブルがフリーズすることがある
-(NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath
{
__weak ServiceOrderDetailsViewController* weakSelf = self;
UITableViewRowAction *button = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"Mark as Complete" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath)
{
if (indexPath.section < weakSelf.sections.count && indexPath.row > 0)
{
NSString* key = weakSelf.sections[indexPath.section];
if (indexPath.row - 1 < [weakSelf.datasource[key] count])
{
//Action
}
}
dispatch_async(dispatch_get_main_queue(),^
{
[weakSelf.UITableView_Bins setEditing:NO animated:YES];
[weakSelf.UITableView_Bins beginUpdates];
[weakSelf.UITableView_Bins reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
[weakSelf.UITableView_Bins endUpdates];
});
}];
button.backgroundColor = [UIColor InTrackGreenColor];
return @[button];
}
reloadRowsを削除すると、この問題は発生しませんが、セルの内容は更新されません。