|
@@ -10,13 +10,11 @@ import Foundation
|
|
class PQCustomSpeedSettingView: UIView {
|
|
class PQCustomSpeedSettingView: UIView {
|
|
|
|
|
|
//左上角返回
|
|
//左上角返回
|
|
- lazy var backBtn: UIButton = {
|
|
|
|
- let backBtn = UIButton(type: .custom)
|
|
|
|
|
|
+ lazy var backBtn: BFUIButton = {
|
|
|
|
+ let backBtn = BFUIButton(type: .custom)
|
|
backBtn.addTarget(self, action: #selector(backClick(sender:)), for: .touchUpInside)
|
|
backBtn.addTarget(self, action: #selector(backClick(sender:)), for: .touchUpInside)
|
|
- backBtn.setImage(UIImage(named: "customSpeedClosed"), for: .normal)
|
|
|
|
|
|
+ backBtn.setImage(UIImage.init().BF_Image(named: "customSpeedClosed"), for: .normal)
|
|
backBtn.adjustsImageWhenHighlighted = false
|
|
backBtn.adjustsImageWhenHighlighted = false
|
|
- backBtn.backgroundColor = UIColor.hexColor(hexadecimal: "#3DC1C1")
|
|
|
|
- backBtn.addCorner(corner: 30)
|
|
|
|
return backBtn
|
|
return backBtn
|
|
}()
|
|
}()
|
|
|
|
|
|
@@ -36,8 +34,9 @@ class PQCustomSpeedSettingView: UIView {
|
|
confirmBtn.setTitle("确定", for: .normal)
|
|
confirmBtn.setTitle("确定", for: .normal)
|
|
confirmBtn.setTitleColor(.white, for: .normal)
|
|
confirmBtn.setTitleColor(.white, for: .normal)
|
|
confirmBtn.addTarget(self, action: #selector(confirmClick(sender:)), for: .touchUpInside)
|
|
confirmBtn.addTarget(self, action: #selector(confirmClick(sender:)), for: .touchUpInside)
|
|
- confirmBtn.backgroundColor = UIColor.hexColor(hexadecimal: "#3DC1C1")
|
|
|
|
|
|
+ confirmBtn.backgroundColor = UIColor.hexColor(hexadecimal: PQBFConfig.shared.styleColor.rawValue)
|
|
confirmBtn.titleLabel?.font = UIFont.systemFont(ofSize: 17, weight: .medium)
|
|
confirmBtn.titleLabel?.font = UIFont.systemFont(ofSize: 17, weight: .medium)
|
|
|
|
+ confirmBtn.addCorner(corner: 11)
|
|
return confirmBtn
|
|
return confirmBtn
|
|
}()
|
|
}()
|
|
|
|
|
|
@@ -45,38 +44,133 @@ class PQCustomSpeedSettingView: UIView {
|
|
public lazy var cancleBtn: UIButton = {
|
|
public lazy var cancleBtn: UIButton = {
|
|
let cancleBtn = UIButton(type: .custom)
|
|
let cancleBtn = UIButton(type: .custom)
|
|
cancleBtn.setTitle("取消", for: .normal)
|
|
cancleBtn.setTitle("取消", for: .normal)
|
|
- cancleBtn.setTitleColor(UIColor.hexColor(hexadecimal: "#3DC1C1"), for: .normal)
|
|
|
|
|
|
+ cancleBtn.setTitleColor(UIColor.hexColor(hexadecimal: PQBFConfig.shared.styleColor.rawValue), for: .normal)
|
|
cancleBtn.backgroundColor = UIColor.hexColor(hexadecimal: "#F9F9F9")
|
|
cancleBtn.backgroundColor = UIColor.hexColor(hexadecimal: "#F9F9F9")
|
|
cancleBtn.addTarget(self, action: #selector(backClick(sender:)), for: .touchUpInside)
|
|
cancleBtn.addTarget(self, action: #selector(backClick(sender:)), for: .touchUpInside)
|
|
cancleBtn.titleLabel?.font = UIFont.systemFont(ofSize: 17, weight: .medium)
|
|
cancleBtn.titleLabel?.font = UIFont.systemFont(ofSize: 17, weight: .medium)
|
|
|
|
+ cancleBtn.addCorner(corner: 11)
|
|
return cancleBtn
|
|
return cancleBtn
|
|
}()
|
|
}()
|
|
|
|
|
|
//提示1
|
|
//提示1
|
|
lazy var customSpeedFastView: UIImageView = {
|
|
lazy var customSpeedFastView: UIImageView = {
|
|
- let customSpeedFastView = UIImageView(image: UIImage(named: "customSpeedFast"))
|
|
|
|
|
|
+ let customSpeedFastView = UIImageView(image: UIImage.init().BF_Image(named: "customSpeedFast"))
|
|
return customSpeedFastView
|
|
return customSpeedFastView
|
|
}()
|
|
}()
|
|
//提示2
|
|
//提示2
|
|
lazy var customSpeedSlowView: UIImageView = {
|
|
lazy var customSpeedSlowView: UIImageView = {
|
|
- let customSpeedSlowView = UIImageView(image: UIImage(named: "customSpeedSlow"))
|
|
|
|
|
|
+ let customSpeedSlowView = UIImageView(image: UIImage.init().BF_Image(named: "customSpeedSlow"))
|
|
return customSpeedSlowView
|
|
return customSpeedSlowView
|
|
}()
|
|
}()
|
|
|
|
+
|
|
|
|
+ lazy var fastSlider: BFUISlider = {
|
|
|
|
+ let fastSlider = BFUISlider()
|
|
|
|
+ let thbImage = UIImage.init().BF_Image(named: "sliderTHBPin")
|
|
|
|
+ fastSlider.setMinimumTrackImage(thbImage, for: .normal)
|
|
|
|
+ fastSlider.setMaximumTrackImage(thbImage, for: .normal)
|
|
|
|
+ fastSlider.setThumbImage(thbImage, for: .highlighted)
|
|
|
|
+ fastSlider.setThumbImage(thbImage, for: .normal)
|
|
|
|
+ fastSlider.maximumTrackTintColor = UIColor.hexColor(hexadecimal: "#E6E8E8")
|
|
|
|
+ fastSlider.minimumTrackTintColor = UIColor.hexColor(hexadecimal: PQBFConfig.shared.styleColor.rawValue)
|
|
|
|
+ fastSlider.tag = 10
|
|
|
|
+// speechSlidView.addTarget(self, action: #selector(sliderTouchEnded(sender:)), for: .touchUpInside)
|
|
|
|
+ fastSlider.maximumValue = 8
|
|
|
|
+ fastSlider.minimumValue = 0.2
|
|
|
|
+ fastSlider.valueTextColor = UIColor.hexColor(hexadecimal: PQBFConfig.shared.styleColor.rawValue)
|
|
|
|
+ fastSlider.value = 0.2
|
|
|
|
|
|
|
|
+ return fastSlider
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ lazy var slowSlider: BFUISlider = {
|
|
|
|
+ let slowSlider = BFUISlider()
|
|
|
|
+ let thbImage = UIImage.init().BF_Image(named: "sliderTHBPin")
|
|
|
|
+ slowSlider.setMinimumTrackImage(thbImage, for: .normal)
|
|
|
|
+ slowSlider.setMaximumTrackImage(thbImage, for: .normal)
|
|
|
|
+ slowSlider.setThumbImage(thbImage, for: .highlighted)
|
|
|
|
+ slowSlider.setThumbImage(thbImage, for: .normal)
|
|
|
|
+ slowSlider.maximumTrackTintColor = UIColor.hexColor(hexadecimal: "#E6E8E8")
|
|
|
|
+ slowSlider.minimumTrackTintColor = UIColor.hexColor(hexadecimal: PQBFConfig.shared.styleColor.rawValue)
|
|
|
|
+ slowSlider.tag = 10
|
|
|
|
+// speechSlidView.addTarget(self, action: #selector(sliderTouchEnded(sender:)), for: .touchUpInside)
|
|
|
|
+ slowSlider.maximumValue = 4
|
|
|
|
+ slowSlider.minimumValue = 0.2
|
|
|
|
+ slowSlider.valueTextColor = UIColor.hexColor(hexadecimal: PQBFConfig.shared.styleColor.rawValue)
|
|
|
|
+ slowSlider.value = 0.2
|
|
|
|
|
|
|
|
+ return slowSlider
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ lazy var jumpSpeedSlider: BFUISlider = {
|
|
|
|
+ let jumpSpeedSlider = BFUISlider()
|
|
|
|
+ let thbImage = UIImage.init().BF_Image(named: "sliderTHBPin")
|
|
|
|
+ jumpSpeedSlider.setMinimumTrackImage(thbImage, for: .normal)
|
|
|
|
+ jumpSpeedSlider.setMaximumTrackImage(thbImage, for: .normal)
|
|
|
|
+ jumpSpeedSlider.setThumbImage(thbImage, for: .highlighted)
|
|
|
|
+ jumpSpeedSlider.setThumbImage(thbImage, for: .normal)
|
|
|
|
+ jumpSpeedSlider.maximumTrackTintColor = UIColor.hexColor(hexadecimal: "#E6E8E8")
|
|
|
|
+ jumpSpeedSlider.minimumTrackTintColor = UIColor.hexColor(hexadecimal: PQBFConfig.shared.styleColor.rawValue)
|
|
|
|
+ jumpSpeedSlider.tag = 10
|
|
|
|
+// speechSlidView.addTarget(self, action: #selector(sliderTouchEnded(sender:)), for: .touchUpInside)
|
|
|
|
+ jumpSpeedSlider.maximumValue = 10
|
|
|
|
+ jumpSpeedSlider.minimumValue = 1
|
|
|
|
+ jumpSpeedSlider.valueTextColor = UIColor.hexColor(hexadecimal: PQBFConfig.shared.styleColor.rawValue)
|
|
|
|
+ jumpSpeedSlider.value = 1
|
|
|
|
+
|
|
|
|
+ return jumpSpeedSlider
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ //跳跃卡点 和快慢速模式 UI 不一样
|
|
|
|
+ var isJumpSpeedModel:Bool = false{
|
|
|
|
+ didSet{
|
|
|
|
+ showHiddenView()
|
|
|
|
+ titleLab.text = isJumpSpeedModel ? "自定义跳跃快慢速" : "自定义快慢速"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 点击完成回调
|
|
|
|
+ public var selectSpeedCallBack: ((_ fastSpeed: Float, _ slowSpeed: Float,_ isJumpSpeedModel:Bool) -> Void)?
|
|
|
|
|
|
override init(frame: CGRect) {
|
|
override init(frame: CGRect) {
|
|
super.init(frame: frame)
|
|
super.init(frame: frame)
|
|
|
|
+ backgroundColor = .white
|
|
|
|
+
|
|
|
|
+ layer.shadowColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.15).cgColor
|
|
|
|
+ layer.shadowOpacity = 1
|
|
|
|
+ layer.shadowOffset = CGSize(width: 0, height: -6)
|
|
|
|
+ layer.shadowRadius = 30
|
|
|
|
+ //切圆角
|
|
|
|
+ layer.cornerRadius = 15
|
|
|
|
|
|
addSubview(backBtn)
|
|
addSubview(backBtn)
|
|
|
|
+ addSubview(titleLab)
|
|
|
|
+ addSubview(confirmBtn)
|
|
|
|
+ addSubview(cancleBtn)
|
|
|
|
+ addSubview(customSpeedFastView)
|
|
|
|
+ addSubview(customSpeedSlowView)
|
|
|
|
+ addSubview(fastSlider)
|
|
|
|
+ addSubview(slowSlider)
|
|
|
|
+ addSubview(jumpSpeedSlider)
|
|
|
|
|
|
autolayout()
|
|
autolayout()
|
|
|
|
+ showHiddenView()
|
|
|
|
|
|
}
|
|
}
|
|
required init?(coder _: NSCoder) {
|
|
required init?(coder _: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ func showHiddenView(){
|
|
|
|
+
|
|
|
|
+ customSpeedFastView.isHidden = isJumpSpeedModel
|
|
|
|
+ customSpeedSlowView.isHidden = isJumpSpeedModel
|
|
|
|
+ fastSlider.isHidden = isJumpSpeedModel
|
|
|
|
+ slowSlider.isHidden = isJumpSpeedModel
|
|
|
|
+ jumpSpeedSlider.isHidden = !isJumpSpeedModel
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
func autolayout() {
|
|
func autolayout() {
|
|
|
|
|
|
backBtn.snp.makeConstraints { make in
|
|
backBtn.snp.makeConstraints { make in
|
|
@@ -88,9 +182,23 @@ class PQCustomSpeedSettingView: UIView {
|
|
titleLab.snp.makeConstraints { make in
|
|
titleLab.snp.makeConstraints { make in
|
|
make.height.equalTo(20)
|
|
make.height.equalTo(20)
|
|
make.width.equalTo(150)
|
|
make.width.equalTo(150)
|
|
- make.left.equalToSuperview().offset(16)
|
|
|
|
|
|
+ make.centerX.equalToSuperview()
|
|
make.top.equalToSuperview().offset(10)
|
|
make.top.equalToSuperview().offset(10)
|
|
}
|
|
}
|
|
|
|
+ cancleBtn.snp.makeConstraints { make in
|
|
|
|
+ make.height.equalTo(50)
|
|
|
|
+ make.width.equalTo(61)
|
|
|
|
+ make.left.equalToSuperview().offset(19)
|
|
|
|
+ make.bottom.equalToSuperview().offset(-60)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ confirmBtn.snp.makeConstraints { make in
|
|
|
|
+ make.height.equalTo(50)
|
|
|
|
+ make.width.equalTo(254)
|
|
|
|
+ make.right.equalToSuperview().offset(-30)
|
|
|
|
+ make.top.equalTo(cancleBtn.snp_top)
|
|
|
|
+ }
|
|
|
|
+
|
|
customSpeedFastView.snp.makeConstraints { make in
|
|
customSpeedFastView.snp.makeConstraints { make in
|
|
make.height.width.equalTo(30)
|
|
make.height.width.equalTo(30)
|
|
make.left.equalToSuperview().offset(18)
|
|
make.left.equalToSuperview().offset(18)
|
|
@@ -102,20 +210,24 @@ class PQCustomSpeedSettingView: UIView {
|
|
make.left.equalTo(customSpeedFastView.snp_left)
|
|
make.left.equalTo(customSpeedFastView.snp_left)
|
|
make.top.equalTo(customSpeedFastView.snp_bottom).offset(31)
|
|
make.top.equalTo(customSpeedFastView.snp_bottom).offset(31)
|
|
}
|
|
}
|
|
-
|
|
|
|
- customSpeedFastView.snp.makeConstraints { make in
|
|
|
|
- make.height.equalTo(50)
|
|
|
|
- make.width.equalTo(61)
|
|
|
|
- make.left.equalToSuperview().offset(16)
|
|
|
|
- make.bottom.equalToSuperview().offset(60)
|
|
|
|
|
|
+
|
|
|
|
+ fastSlider.snp.makeConstraints { make in
|
|
|
|
+ make.left.equalToSuperview().offset(65)
|
|
|
|
+ make.right.equalToSuperview().offset(-36)
|
|
|
|
+ make.centerY.equalTo(customSpeedFastView.snp_centerY)
|
|
}
|
|
}
|
|
-
|
|
|
|
- customSpeedSlowView.snp.makeConstraints { make in
|
|
|
|
- make.height.equalTo(50)
|
|
|
|
- make.width.equalTo(254)
|
|
|
|
- make.right.equalToSuperview().offset(-30)
|
|
|
|
- make.top.equalTo(customSpeedFastView.snp_top)
|
|
|
|
|
|
+ slowSlider.snp.makeConstraints { make in
|
|
|
|
+ make.left.equalToSuperview().offset(65)
|
|
|
|
+ make.right.equalToSuperview().offset(-36)
|
|
|
|
+ make.centerY.equalTo(customSpeedSlowView.snp_centerY)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ jumpSpeedSlider.snp.makeConstraints { make in
|
|
|
|
+ make.left.equalToSuperview().offset(30)
|
|
|
|
+ make.right.equalToSuperview().offset(-36)
|
|
|
|
+ make.top.equalTo(titleLab.snp_bottom).offset(104)
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -126,6 +238,16 @@ class PQCustomSpeedSettingView: UIView {
|
|
|
|
|
|
//确认
|
|
//确认
|
|
@objc func confirmClick(sender: UIButton) {
|
|
@objc func confirmClick(sender: UIButton) {
|
|
-
|
|
|
|
|
|
+ isHidden = true
|
|
|
|
+ BFLog(message: "fastSlider: \(fastSlider.value) slowSlider: \(slowSlider.value) jumpSpeedSlider:\(jumpSpeedSlider.value)")
|
|
|
|
+ if(selectSpeedCallBack != nil){
|
|
|
|
+ if(!isJumpSpeedModel){
|
|
|
|
+ selectSpeedCallBack!(fastSlider.value,slowSlider.value,isJumpSpeedModel)
|
|
|
|
+
|
|
|
|
+ }else{
|
|
|
|
+ selectSpeedCallBack!(jumpSpeedSlider.value,0,isJumpSpeedModel)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|