我想自定义我的单元格行为 - 我想要更改单元格视图并显示不同的按钮。我有一半的工作 - 当我滑动时,我会看到移动。
但是我在单元格的右侧有这个删除按钮,我想摆脱它并使用自定义按钮而不是它。我应该使用什么来删除它以及在哪里绑定我的按钮来做同样的事情?
我尝试使用两种方法setEditing
:和willTransitionToState
,但这没有帮助。
如果我在其中任何一个中跳过调用父方法,我没有得到删除按钮,但我的视图在编辑后永远不会返回到其原始位置,其他单元格停止对滑动作出反应。我需要做些什么来解决这个问题?
-(void)setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:YES];
if (editing) {
[UIView animateWithDuration:0.3 animations:^{
self.parentView.transform = CGAffineTransformTranslate(CGAffineTransformIdentity, 100, 0);
}];
} else {
[UIView animateWithDuration:0.3 animations:^{
self.parentView.transform = CGAffineTransformIdentity;
}];
}
}
-(void)willTransitionToState:(UITableViewCellStateMask)state
{
[super willTransitionToState:state];
if (state == UITableViewCellStateShowingDeleteConfirmationMask) {
[UIView animateWithDuration:0.3 animations:^{
self.parentView.transform = CGAffineTransformTranslate(CGAffineTransformIdentity, 100, 0);
}];
}
if (state == UITableViewCellStateDefaultMask) {
[UIView animateWithDuration:0.3 animations:^{
self.parentView.transform = CGAffineTransformIdentity;
}];
}
}
答案 0 :(得分:1)
由于您的单元格是UITableViewCell的子类,并且您不想使用股票删除,因此您可能希望禁用它。最基本的方法是不为任何单元格返回编辑样式。
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewCellEditingStyleNone;
}
有些评论提到了你接下来可以做的事情。
答案 1 :(得分:0)
您无法更改默认UITableViewCell
中显示的删除按钮。
而是创建一个customClass of UITableViewCell
。
或,
破解其子视图,找到任何类UIButton
和标题文本"delete"
的子视图,然后更改它。