在UITableView的“editActionsForRowAt”中添加图像到按钮

时间:2016-12-28 01:18:04

标签: ios swift uitableview

前段时间我问过a question如何添加超过标准的editActionsForRowAt“删除”按钮。感谢发布的答案,我的应用程序现在具有如下所示的3键滑动编辑功能!

enter image description here

然而,iOS9带来了很少的图标伴随文字...现在我有了一个新问题,我该如何获得该功能?

enter image description here

我用谷歌搜索过许多搜索,例如“将图像添加到editActionsForRowAt”,但没有发现任何有用的信息。如果您有代码,教程链接或任何可以让我朝着正确方向前进的方式,我们将不胜感激。

1 个答案:

答案 0 :(得分:3)

其中一条评论引导我使用unicode字符!超级有用,因为它们可以添加到您的正常字符串中。 Unicode字符包括:

Useful unicode character examples Useful unicode character examples 2 Useful unicode character examples 3

所以你要做的就是传递一个带有unicode字符的字符串,然后是一个换行符(\ n),然后是你的按钮标题/文本。所以基本语法如下:

title: "\u{1234}\n YourText "

为了便于重用(因为我有多个表),我将我想要的字符放入结构中:

struct cellEditActionIcons {
    static var editAction_Arrow = "\u{2191}"
    static var editAction_Check = "\u{2713}"
    static var editAction_Delete = "\u{2715}"
} 

然后你可以创建这样的按钮:

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
    var doneBut = UITableViewRowAction (style: .normal, title: "\(cellEditActionIcons.editAction_Check)\n YourText" { action, index in
        //Do stuff
    }
    doneBut.backgroundColor = myColors.someColor
}