UIScrollView上的UISlider

博客内容讲述了在UIScrollView中包含横向排列的5个UITableView,每个单元格内含有UISlider。当快速滑动UISlider时,UIScrollView会误识别为滑动事件。为了解决这一问题,作者提出了一种解决方案:自定义UIScrollView子类SliderTouchScrollView,在初始化时注册监听slider松开的通知。当UISlider的滑动结束时,发送通知使ScrollView能够重新响应滚动,从而避免了两者交互时的冲突。
摘要由CSDN通过智能技术生成

UIScrollView横向排了5个UITableView,UITableView的Cell中有UISlider。在左右滑动slider的时候,如果快速滑动slider不会动,scrollview会左右滑动。

解决这个问题方法:

继承UIScrollView:

class SliderTouchScrollView: UIScrollView {
    
    init() {
        super.init(frame: CGRect(x: 0, y: 0, width: 0, height: 0))
        NotificationCenter.default.addObserver(self, selector: #selector(sliderTouchUp), name: NSNotification.Name(rawValue: "sliderTouchUp"), object: nil)
        delaysContentTouches = false
    }
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    deinit {
        NotificationCenter.default.removeObserver(self)
    }
    override func touchesShouldBegin(_ touches: Set<UITouch>, with event: UIEvent?, in view: U
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值