美文网首页
Swift4 实现一个上下滑动的UISlider

Swift4 实现一个上下滑动的UISlider

作者: 稀客花千树 | 来源:发表于2018-10-23 15:08 被阅读0次

网上找了一下可以上下滑动的UISlider,可惜没有找到,自己写一个记录一下

先放上效果图

// MARK: - 配置 UI 视图

extension allOverflowView {

    private func setUpAllView() {

        self.allTopBgView=UIView.jf_createView(bgClor:kClear, supView:self, closure: { (make)in

            make.left.right.top.equalTo(0)

            make.height.equalTo(Adapt(25))

        })

        self.allStatusView=UIView.jf_createView(bgClor:kpassagewayColor, supView:self.allTopBgView, closure: { (make)in

            make.width.height.equalTo(Adapt(5))

            make.left.equalTo(Adapt(4))

            make.centerY.equalTo(self.allTopBgView.snp.centerY)

        })

        self.allStatusView.layer.cornerRadius=Adapt(5/2)

        self.allStatusView.layer.masksToBounds = true

        self.allTitleLabel=UIView.jf_createLabel(text:"总增益", textColor:kWhite, font:FontSize(9), textAlignment: .left, supView:self.allTopBgView, closure: { (make)in

            make.left.equalTo(self.allStatusView.snp.right).offset(Adapt(3))

            make.height.equalTo(self.allTopBgView.snp.height)

            make.right.equalTo(self.allTopBgView.snp.right)

            make.centerY.equalTo(self.allTopBgView.snp.centerY)

        })

        self.allCgView = CGView()

        self.allCgView.backgroundColor = kClear

        self.addSubview(self.allCgView)

        self.allCgView.snp.makeConstraints{ (make)in

            make.width.height.equalTo(Adapt(20))

            make.bottom.equalTo(Adapt(-4))

            make.centerX.equalTo(self.snp.centerX)

        }

        self.allLabel=UIView.jf_createLabel(text:"90", textColor:kpassagewayColor, font:FontSize(7), textAlignment: .center, supView:self.allCgView, closure: { (make)in

            make.edges.equalTo(0)

        })

        self.allSliderBgView=UIView.jf_createView(bgClor:kClear, supView:self, closure: { (make)in

            make.height.equalTo(Adapt(4))

            make.width.equalTo(Adapt(100))

            make.centerX.equalTo(self.snp.centerX)

            make.centerY.equalTo(self.snp.centerY)

        })

        self.allSliderBgView.transform = CGAffineTransform(rotationAngle: -CGFloat.pi / 2)

        self.allSlider=UISlider.init()

        self.allSliderBgView.addSubview(self.allSlider)

        self.allSlider.backgroundColor = kClear

        self.allSlider.snp.makeConstraints{ (make)in

            make.edges.equalTo(0)

        }

        self.allSlider.minimumValue=0

        self.allSlider.maximumValue=100

        self.allSlider.setValue(60, animated:true)//带动画

        self.allSlider.isContinuous=false

        self.allSlider.maximumTrackTintColor = kBlack // 边槽的颜色

        self.allSlider.setThumbImage(UIImage.init(named:"overflow_sliderBtnNew"), for: .normal)

       jf_setUpGradientLayer(view:self.allSlider.subviews[1], frame:CGRect(x:0,y:0,width:self.allSlider.frame.size.width,height:self.allSlider.frame.size.height), color:kGradientColors)// 设置渲染

  }

}

// MARK: - Action

extension allOverflowView {

    private func clickAction() {

        self.allSlider.rx.value.asObservable()

            .subscribe(onNext: {

                self.allLabel.text=String(Int($0))

            })

            .disposed(by:disposeBag)

    }

}

相关文章

网友评论

      本文标题:Swift4 实现一个上下滑动的UISlider

      本文链接:https://www.haomeiwen.com/subject/bgkazftx.html