3

我正在使用 UITableViewRowAction。我的要求是在表格单元格的左侧滑动时,我应该显示 2 UITableViewRowAction button。我可以通过实施来实现这一点-(NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath;。这是代码

-(NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewRowAction *button = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"Delete" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath)
                                {
                                    NSLog(@"Action to perform with Button 1");
                                }];
    button.backgroundColor = [UIColor greenColor]; //arbitrary color
    UITableViewRowAction *button2 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"Edit" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath)
                                 {
                                     NSLog(@"Action to perform with Button2!");
                                 }];
    button2.backgroundColor = [UIColor redColor]; //arbitrary color

    return @[button, button2];
}

目前,我正在使用一些任意颜色作为button和的背景button2

但我的要求是要有背景图片而不是某种颜色。我浏览了这里给出的答案,并尝试通过添加来实现它

button.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"icon_ab_delete.png"]];

代替

button.backgroundColor = [UIColor greenColor];

我的项目中存储了icon_ab_delete.png 。但是,当我运行我的应用程序时,我会得到一个白色背景,上面什么都没有。像这样的东西:

在此处输入图像描述

编辑后的按钮应该是删除的,它什么也没显示,它确实存在,因为我仍然可以捕获我试图在它的处理程序中执行的事件。

我想知道我是否正确设置了背景图像,还是有其他方法可以实现我想要实现的目标?

提前致谢!

4

0 回答 0