我已经实现了一个名为UITableViewCell
的{{1}}子类。当进入编辑模式或当我滑动单元格以显示删除按钮时,我想隐藏我单元格中的标签并在退出编辑模式时显示它。
我在UITableViewCellCustom
UITableViewCellCustom
我有两个问题。
例如,如果我的tableview中有23行。当我显示前5行时,我进入编辑模式。我的rankLabel被隐藏了,然后我滚动到我的桌子底部(到第23行)并且我退出了编辑模式。 rankLabel再次显示但不是所有单元格,我的单元格6/12和18未正确刷新。有什么想法吗?
在方法- (void)willTransitionToState:(UITableViewCellStateMask)state {
[super willTransitionToState:state];
if ((state == UITableViewCellStateShowingDeleteConfirmationMask) || (state == UITableViewCellStateShowingEditControlMask)) {
[UIView animateWithDuration:0.5
animations:^{rankLabel.alpha = 0.0;}];
}
}
- (void)didTransitionToState:(UITableViewCellStateMask)state {
[super didTransitionToState:state];
if (state == UITableViewCellStateDefaultMask) {
[UIView animateWithDuration:0.5
animations:^{rankLabel.alpha = 1.0;}];
}
}
中,我使用willTransitionToState
轻柔地隐藏了我的rankLabel但它不起作用,rankLabel被隐藏但没有过渡。当我想再次显示标签时,同样的方法在animateWithDuration
中非常有效。有什么想法吗?
感谢您的支持。
答案 0 :(得分:5)
对于#2:
- (void)willTransitionToState:(UITableViewCellStateMask)state {
[super willTransitionToState:state];
if ((state == UITableViewCellStateShowingDeleteConfirmationMask) || (state == UITableViewCellStateShowingEditControlMask)) {
[UIView setAnimationsEnabled:TRUE];
[UIView animateWithDuration:0.5
animations:^{rankLabel.alpha = 0.0;}];
}