と を使用UITableView
しestimatedRowHeight
ていUITableViewAutomaticDimension
ます。またNSFetchedResultsControllerDelegate
、変更を反映するために使用しています。
すべて正常に動作しています。ここでの問題は、デリゲートと呼ばれるレコードを に追加するCoreData
とNSFetchedResultsController
、予期しないことが発生することです。TableViewは毎回突然トップにスクロールします。
NSFetchedResultsControllerDelegate
func controllerWillChangeContent(controller: NSFetchedResultsController) {
tableView.beginUpdates()
}
func controllerDidChangeContent(controller: NSFetchedResultsController) {
tableView.endUpdates()
}
func controller(controller: NSFetchedResultsController, didChangeObject anObject: AnyObject, atIndexPath indexPath: NSIndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: NSIndexPath?) {
switch type {
case .Insert:
tableView.insertRowsAtIndexPaths([newIndexPath!], withRowAnimation: .None)
break
case .Update:
tableView.reloadRowsAtIndexPaths([indexPath!], withRowAnimation: .None)
break
case .Delete:
tableView.deleteRowsAtIndexPaths([indexPath!], withRowAnimation: .None)
break
default: break;
}
}
グーグルで、人々が使用を提案した回答tableView: heightForRowAtIndexPath:
はほとんど見つかりませんでしたが、私のセルの高さは動的です。それで、私は何をすべきですか?