在编辑UITableViewCell时更改标签颜色

时间:2016-08-19 08:01:42

标签: ios swift uitableview swift3

我正在寻找一种在编辑单元格时更改标签颜色的方法。默认颜色为白色,当我滑动删除时会显示该颜色,但我想将其更改为黑色,就像Apple News应用程序所做的那样,如下图所示。

这是编辑代码的常用滑动:

override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {



        let editAction = UITableViewRowAction(style: .normal, title: "Rename") { (action: UITableViewRowAction, indexPath: IndexPath) -> Void in



        }

        editAction.backgroundColor =  UIColor.black
        return [editAction]



    }

这是默认颜色。 enter image description here

苹果新闻就是这样做的。 enter image description here

任何想法。我正在使用swift 3但是任何快速甚至ObjC的东西都会很酷。谢谢。 ;)

1 个答案:

答案 0 :(得分:0)

我认为使用UITableViewRowAction可以直接实现此目的。 Apple不允许我们自定义按钮,就像我们在UIButton中的UITableViewRowAction中使用的那样。

我有个主意,让我知道它是否会解决您的问题。让我们说Apple有一个图像,里面有这三个图标LoveShare& Save [来自问题中的上述图片]。

您可以做的是,您可以使用UITableViewRowAction UIColor方法设置patternImage个实例的backgroundColor。

所以它看起来像这样。

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {

        let discussion = UITableViewRowAction(style: .Normal, title: "") { _, _ in
        }

        discussion.backgroundColor = UIColor(patternImage: UIImage(named: "Love&Share&SaveIconsInOneImage"))

        return [discussion]
    }