我在tableView中显示人员列表。在单击任何单元格时,应用程序将显示一个新屏幕。当用户返回上一个屏幕时,应显示tableView。在这里,当用户使用tableView返回到屏幕时,我调用服务器API来获取更新的人员列表并重新加载表以显示它们。
问题是当用户回到屏幕并显示tableView时,UITableViewCell
中的标签会稍微动画一下。此动画使标签从其正确位置下方的某个位置移动并向上移动到正确位置。这个动画不是由我实现的,也不是我想要的。它可见约0.5-1秒。
比较动画前后标签的位置。
有没有人经历过这个?
注意: 请注意,我使用了autolayout。这可能是一个问题,因为在使用自动布局之前,这个问题不存在。
编辑:尝试禁用隐式动画,如下所示,但无效。
NSMutableDictionary *newActions = [[NSMutableDictionary alloc] initWithObjectsAndKeys:[NSNull null], @"onOrderIn",
[NSNull null], @"onOrderOut",
[NSNull null], @"sublayers",
[NSNull null], @"contents",
[NSNull null], @"bounds",
nil];
cell.textLabel.layer.actions = newActions;
cell.detailTextLabel.layer.actions = newActions;
cell.layer.actions = newActions;
cell.contentView.layer.actions = newActions;
答案 0 :(得分:1)
解决了这个问题。抱歉打扰你们。真是太傻了。当用户从下一个视图控制器返回时,我通过调用REST API然后调用从底部显示表的方法displayTable
来刷新表。
现在,如果已经显示,我会调用reloadData
方法刷新它,而不是调用displayTable
。