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

标题: ios - 快速滑动删除按钮的自定义高度 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 16:41
标题: ios - 快速滑动删除按钮的自定义高度

我有自定义表格单元格。每个单元格都有不同的高度。我想给滑动删除按钮与单元格高度。

I have attached screen shot for

我在单元格中使用了 View 。 View 高度为单元格高度 - 16。上下边距 8。

所以请帮我做这件事。



Best Answer-推荐答案


在您的自定义 Cell Swift 类中使用此代码

override func layoutSubviews() {
    let fltHeight:CGFloat = 46
    var subviews: [Any] = self.subviews
    let subview: UIView? = subviews[0] as? UIView
    if NSClassFromString("UITableViewCellDeleteConfirmationView") != nil {
        if (subview?.isKind(of: NSClassFromString("UITableViewCellDeleteConfirmationView")!))! {
            let deleteButtonView: UIView? = (subview?.subviews[0])
            var buttonFrame: CGRect? = deleteButtonView?.frame
            buttonFrame?.origin.x = (deleteButtonView?.frame.origin.x)!
            buttonFrame?.origin.y = (deleteButtonView?.frame.origin.y)!
            buttonFrame?.size.width = (deleteButtonView?.frame.size.width)!
            buttonFrame?.size.height = fltHeight
            deleteButtonView?.frame = buttonFrame!

            // Placing at the center of the cell.
            subview?.frame = CGRect(x: CGFloat((subview?.frame.origin.x)!),
                                    y: CGFloat((subview?.frame.origin.y)! + ((subview?.frame.size.height)!-fltHeight)/2),
                                    width: CGFloat((subview?.frame.size.width)!),
                                    height: CGFloat(fltHeight))
            deleteButtonView?.clipsToBounds = true
            subview?.clipsToBounds = true
        }
    }
}

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






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