gpt4 book ai didi

iphone - 以动画方式删除 UITableViewCell 附件

转载 作者:行者123 更新时间:2023-12-03 19:45:26 27 4
gpt4 key购买 nike

有什么方法可以动画删除 UITableView 单元格附件吗?

我当前正在显示一个 UITableViewCellAccessoryDisclosureIndicator,但我想在所有可见表格单元格上用 UISwitch 制作显示指示器交换动画。

我尝试过这样的事情:

[UIView animateWithDuration:0.3
animations:^{
for (SwitchTableViewCell *cell in self.tableView.visibleCells)
{
cell.accessoryType = UITableViewCellAccessoryNone;
}
}];

...但不幸的是这没有影响。披露指示器突然消失,contentView 宽度一步跳动,而不是平滑过渡。

最佳答案

accessoryType 不是可设置动画的属性。您可以通过两种方法来执行此操作,具体取决于您的情况。最简单的方法仅适用于因进入编辑状态而将附件更改为 UISwitch 的情况。在这种情况下,只需在 tableView:cellForRowAtIndexPath: 方法中使用 cell.editingAccessoryType = theSwitch; 即可。当进入编辑模式时,表格 View 将自动淡入/淡出。

如果您在编辑模式之外执行此操作,则以下代码将执行您想要的操作:

[UIView animateWithDuration:0.3 animations:^{
for(SwitchTableViewCell *cell in self.tableView.visibleCells) {
[[cell valueForKey:@"_accessoryView"] setAlpha:0.0];
}
} completion:^(BOOL done) {
for(SwitchTableViewCell *cell in self.tableView.visibleCells) {
cell.accessoryView = theSwitch;
}
}];

但是,我不知道此代码是否会进入应用商店,因为它使用隐藏属性 _accessoryView。

关于iphone - 以动画方式删除 UITableViewCell 附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4520351/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com