当我们通过XIB去实现UITableView中的cell布局然后展现在ViewController中,而并非直接使用UITableViewController,点击cell之后,进入下一页后再返回上页cell列表,发现cell的选中状态并没有取消掉,原因是:
UITableViewController有一个clearsSelectionOnViewWillAppear的property,他控制着返回上一页cell的状态。
而当把UITableViewController修改成UIViewController后,这个属性自然就不存在了,因此我们必须手动添加取消选中的功能,方法很简单,在viewWillAppear方法中加入:
[self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];
或者在 tableView didSelected indexPath 代理方法里面添加
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];(个人推荐)
在运行就OK了。