我有一个UITableView,其中使用indentationLevel缩进了一些行。单元格具有UITableViewCellStyleValueValue1样式,因此我获得缩进的textLabel而不是detailTextLabel。有时我想更改行的缩进,以便文本向左或向右移动。设置indentationLevel是有效的,但是文本突然跳了起来:如何使它动画流畅?
最佳答案
这有效-通过indentDelta更改缩进:
CGRect frame = cell.textLabel.frame;
frame.origin.x += indentDelta * cell.indentationWidth;
[UIView animateWithDuration:0.5f animations:^{
cell.textLabel.frame = frame;
} completion:^(BOOL finished){
cell.indentationLevel = cell.indentationLevel + indentDelta;
}];
首先将标签平滑滚动到我想要的位置,然后以正确的截断方式重新绘制行,并以indentationLevel正确的方式保留行,以便在重新生成时正确绘制它们,例如如果单击以选择。
关于iphone - IOS:如何为indentationLevel的变化制作动画?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7974632/