如何在滑动时显示删除按钮UITableViewCell?永远不会引发该事件,并且永远不会出现删除按钮.
用户在表视图中滑动单元格时如何公开自定义按钮(如iOS 8中的邮件应用程序)
我希望当用户在表视图单元格上滑动时,要显示按钮(默认情况下是iOS 7及早期的删除按钮).在iOS 8的邮件应用程序中,您可以滑动并显示3个按钮"更多""标记""存档".我想显示其他颜色和标题不同的按钮.
Apple是否在UITableView中提供API?
谢谢
我已经完成了这个显示以下代码的问题:
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath{
return @"Sagar";
}
Run Code Online (Sandbox Code Playgroud)
如果我想要自定义图像而不是默认的红色按钮怎么办?
我有一个UITableView,我已经添加了编辑操作.现在我想在删除按钮标签上方添加图像,如下所示:
这是我的代码:
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {
let blockAction = UITableViewRowAction(style: .Normal, title: "Block") { (rowAction:UITableViewRowAction, indexPath:NSIndexPath) -> Void in
//TODO: Delete the row at indexPath here
}
blockAction.backgroundColor = UIColor.redColor()
return [blockAction]
}
Run Code Online (Sandbox Code Playgroud)
如何在Delete按钮上添加图像?
当UITableView处于编辑模式时,有没有办法自定义减号删除按钮的颜色?设计师需要它是一个更深的红色,以符合我们的应用程序的配色方案.请注意,我在谈论左侧的圆圈减号删除图标,而不是右侧的删除确认按钮:
SO帖子中,我发现如这一个是所有关于定制在右侧的删除确认按钮.
我在项目中使用以下代码:
if([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"])
Run Code Online (Sandbox Code Playgroud)
这在iOS 5和6上工作正常.但在iOS 7上它始终返回NO.
任何人都可以告诉我这是iOS 7的问题还是我做错了什么?
谢谢!
目前我正在尝试在UITableViewCell中自定义delte按钮.现在我有类似的东西:

现在,我需要的只是改变这个按钮的颜色,我不想改变行为,或者让它绝对自定义.我确信这是可能的,没有创建自己的控件来删除UITableView中的行.
这是我的代码:
- (void)layoutSubviews
{
[super layoutSubviews];
for (UIView *subview in self.subviews) {
if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) {
UIView *deleteButtonView = (UIView *)[subview.subviews objectAtIndex:0];
deleteButtonView.backgroundColor = [UIColor greenColor];
}
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
提前致谢!
我想在Swift中实现这个代码.我在Objective-C中从这些问题中获得了以下代码:
在滑动行或单击编辑按钮时,更改UITableViewCell中默认红色删除按钮的颜色
- (void)willTransitionToState:(UITableViewCellStateMask)state{
[super willTransitionToState:state];
if ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask) {
for (UIView *subview in self.subviews) {
if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) {
UIImageView *deleteBtn = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 64, 33)];
[deleteBtn setImage:[UIImage imageNamed:@"delete.png"]];
[[subview.subviews objectAtIndex:0] addSubview:deleteBtn];
[deleteBtn release];
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道如何在Swift中实现这个方法.谁能帮助我?
我正在使用Xcode 7.3 Beta.