OStack程序员社区-中国程序员成长平台

标题: ios - 在swift4中自定义滑动删除按钮 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 03:52
标题: ios - 在swift4中自定义滑动删除按钮

我已经自定义了滑动删除按钮,直到 swift3 [ios 9]。
我已经在 swift3 中为 ios 9 尝试过这段代码

func setSwipeDeletebutton(cell : UITableViewCell, BackView : UIView) {

    //Customize Delete button
    for subview in cell.subviews {
        subview.backgroundColor = UIColor.clear

        for sub in subview.subviews {

            if String(describing: sub).range(of: "UITableViewCellActionButton") != nil {
                sub.backgroundColor = UIColor.white

                var newframe = sub.frame
                newframe.size.height = BackView.frame.size.height
                sub.frame = newframe

                sub.SetUpView()

                for view in sub.subviews {

                    if String(describing: view).range(of: "UIButtonLabel") != nil {

                        if let label = view as? UILabel {

                            label.textColor = SharedInstance.hexStringToUIColor(hex: Color.TodayActivityColor.Type_LEAVE)

                        }
                    }
                }
            }
        }
    }
}

现在,作为 ios 11 的更改,我无法使用此代码自定义滑动删除按钮。
我曾尝试将图像设置为滑动删除按钮,但设置不正确,因为我还想要该删除按钮的阴影。
谁能建议我如何使用 swift4 自定义滑动删除按钮?



Best Answer-推荐答案


您正在使用以下方式访问 subview :

String(描述: sub).range(of: "UITableViewCellActionButton")

还有

String(描述:view).range(of: "UIButtonLabel")

苹果不建议这样做。

但是,要调试此问题,请在 TableView 行操作/抽屉打开时打开您的 View 层次结构。

access view hierarchy debugging

您应该在层次结构中看到要更改的 View 。

access view hierarchy for tableview

然后根据需要更改您的字符串:

String(描述: sub).range(of: "UISwipeActionPullView")

UISwipeActionPullView 可能不是你需要的,但概念是一样的。

关于ios - 在swift4中自定义滑动删除按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48060910/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4