我正在尝试实现一项新的iOS11功能,该功能允许您在tableview滑动操作中正式使用图像。

因此,我想到了这个:

@available(iOS 11.0, *)
    func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
        let deleteAction = UIContextualAction(style: .normal, title:  "", handler: { (ac:UIContextualAction, view:UIView, success:(Bool) -> Void) in
            //whatever
            success(true)
        })
        let theImage: UIImage? = UIImage(named:"Delete")?.withRenderingMode(.alwaysOriginal)

        deleteAction.image = theImage
        return UISwipeActionsConfiguration(actions: [deleteAction])
    }

我的资产目录中有这个.png文件。
我尝试了WITH和WITHOUt渲染模式。在任何一种情况下,图像均正确显示在调试器中:ios - TrailingSwipeActionsConfigurationForRowAt中的图片似乎不起作用-LMLPHP

但无法在Simulator中显示(“Nothing here”标记了我希望图像显示的位置):
ios - TrailingSwipeActionsConfigurationForRowAt中的图片似乎不起作用-LMLPHP

难道我做错了什么?

最佳答案

老问题

但是对于仍在尝试解决此问题的用户,请确保您的图片大小等于或小于您的像元大小

就我而言,我的图片太大,只能显示白色背景

关于ios - TrailingSwipeActionsConfigurationForRowAt中的图片似乎不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47397099/

10-10 20:21