在编辑模式下将自定义 UITableViewCells 动画化到左侧(而不是右侧)
Animating Custom UITableViewCells to the left in editing mode (instead of right)
我有一个带有自定义单元格的 UITableView,我希望用户能够四处移动单元格。问题是当 tableview 进入编辑模式时,单元格像这样向右移动
但我希望它们向左移动,这样单元格就不会被重新排序控件挡住
我查看了一堆 SO 问题,但没有找到任何答案。有没有简单的方法可以做到这一点,还是我必须自己编写动画?
此外,有人能告诉我为什么会这样吗?
注意
这是我为此添加的委托方法
- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
而且,是的,我确实将自定义视图添加到自定义单元格内容视图中
谢谢
尝试覆盖 UITableViewCell 的 setEditing:animated: 函数来创建自定义动画并按您需要的方向移动控件。
例如
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:animated];
if (animated) {
[UIView animateWithDuration:0.5 delay:0.0
options:UIViewAnimationOptionCurveEaseInOut animations:^{
CGRect titleFrame = self.titleLabel.frame;
if (editing) {
[self.titleLabel setFrame:CGRectMake(15, titleFrame.origin.y, titleFrame.size.width, titleFrame.size.height)];
} else {
[self.titleLabel setFrame:CGRectMake(25, titleFrame.origin.y, titleFrame.size.width, titleFrame.size.height)];
}
}completion:nil];
}
}
我有一个带有自定义单元格的 UITableView,我希望用户能够四处移动单元格。问题是当 tableview 进入编辑模式时,单元格像这样向右移动
但我希望它们向左移动,这样单元格就不会被重新排序控件挡住
我查看了一堆 SO 问题,但没有找到任何答案。有没有简单的方法可以做到这一点,还是我必须自己编写动画?
此外,有人能告诉我为什么会这样吗?
注意
这是我为此添加的委托方法
- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
而且,是的,我确实将自定义视图添加到自定义单元格内容视图中
谢谢
尝试覆盖 UITableViewCell 的 setEditing:animated: 函数来创建自定义动画并按您需要的方向移动控件。
例如
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:animated];
if (animated) {
[UIView animateWithDuration:0.5 delay:0.0
options:UIViewAnimationOptionCurveEaseInOut animations:^{
CGRect titleFrame = self.titleLabel.frame;
if (editing) {
[self.titleLabel setFrame:CGRectMake(15, titleFrame.origin.y, titleFrame.size.width, titleFrame.size.height)];
} else {
[self.titleLabel setFrame:CGRectMake(25, titleFrame.origin.y, titleFrame.size.width, titleFrame.size.height)];
}
}completion:nil];
}
}