Swift自定义UISlider的圆点,UISlider手势与侧滑返回手势冲突

import UIKit

class CustomSlider: UISlider {
    
    init() {
        super.init(frame: CGRect())
        self.minimumValue = 0
        self.maximumValue = 100
        self.value = 0
        self.minimumTrackTintColor = .orange
        self.maximumTrackTintColor = .green
        //自定义圆点图标
        self.setThumbImage(R.image.icon_slider(), for: .normal)
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    //修改slider的位置和大小
    override func trackRect(forBounds bounds: CGRect) -> CGRect {
        return CGRect(x: 0, y: 14, width: self.frame.size.width, height: 6)
    }
    //修改圆点图标的位置和触摸区域的大小
    override func thumbRect(forBounds bounds: CGRect, trackRect rect: CGRect, value: Float) -> CGRect {
        var trect = rect
        trect.origin.x -= 5
        trect.size.width += 10
        var srect = super.thumbRect(forBounds: bounds, trackRect: trect, value: value)
        srect.origin.y += 2
        return srect
    }
    //处理手势冲突
    override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
        return false
    }
    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值