UISlider with ProgressView combined

后端 未结 9 1379
无人共我
无人共我 2020-11-29 16:07

Is there an apple-house-made way to get a UISlider with a ProgressView. This is used by many streaming applications e.g. native quicktimeplayer or youtube. (Just to be sure:

9条回答
  •  野趣味
    野趣味 (楼主)
    2020-11-29 16:49

    Solution that suits my design:

    class SliderBuffering:UISlider {
        let bufferProgress =  UIProgressView(progressViewStyle: .Default)
    
        override init (frame : CGRect) {
            super.init(frame : frame)
        }
    
        convenience init () {
            self.init(frame:CGRect.zero)
            setup()
        }
    
        required init?(coder aDecoder: NSCoder) {
            super.init(coder: aDecoder)
            setup()
        }
    
        func setup() {
            self.minimumTrackTintColor = UIColor.clearColor()
            self.maximumTrackTintColor = UIColor.clearColor()
            bufferProgress.backgroundColor = UIColor.clearColor()
            bufferProgress.userInteractionEnabled = false
            bufferProgress.progress = 0.0
            bufferProgress.progressTintColor = UIColor.lightGrayColor().colorWithAlphaComponent(0.5)
            bufferProgress.trackTintColor = UIColor.blackColor().colorWithAlphaComponent(0.5)
            self.addSubview(bufferProgress)
        }
    } 
    

提交回复
热议问题