调用reloadData时,UITableView会产生不需要的动画
我有一个UITableView,如果我稍微滚动内容,然后调用reloadData
,表格会在重新加载数据时进行滚动动画。
在viewDidLoad
调用的表设置:
func setupTableView() { tableView.register(UINib(nibName: "AnswerCell", bundle: nil), forCellReuseIdentifier: "AnswerCell") tableView.register(UINib(nibName: "QuizDescription", bundle: nil), forCellReuseIdentifier: "QuizDescription") tableView.register(UINib(nibName: "QuestionNumberCell", bundle: nil), forCellReuseIdentifier: "QuestionNumberCell") tableView.tableFooterView = UIView() tableView.estimatedRowHeight = 135 tableView.rowHeight = UITableViewAutomaticDimension tableView.delegate = self tableView.dataSource = self }
按下提交按钮时,将调用tableView.reloadData()
。 有什么想法为什么会出现这个动画? 我能做些什么来阻止它?
在调用reloadData
之前,您需要先重置位置。
tableView.contentOffset = .zero
您可以尝试在performWithoutAnimation: block中重新加载tableview:
UIView.performWithoutAnimation { self.tableView.reloadData() }