对b面的再优化,进度条适用范围调整

This commit is contained in:
Mr.zhou 2024-06-05 11:02:29 +08:00
parent 88bf10f284
commit c69dc5411c
3 changed files with 75 additions and 15 deletions

View File

@ -1542,9 +1542,9 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 4; CURRENT_PROJECT_VERSION = 1.0.4.1;
DEVELOPMENT_TEAM = T93S37G27F; DEVELOPMENT_TEAM = "";
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = relax.offline.mp3.music/Info.plist; INFOPLIST_FILE = relax.offline.mp3.music/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = Musiclax; INFOPLIST_KEY_CFBundleDisplayName = Musiclax;
@ -1561,7 +1561,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.3; MARKETING_VERSION = 1.0.4;
PRODUCT_BUNDLE_IDENTIFIER = relax.offline.mp3.music; PRODUCT_BUNDLE_IDENTIFIER = relax.offline.mp3.music;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@ -1582,9 +1582,9 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 4; CURRENT_PROJECT_VERSION = 1.0.4.1;
DEVELOPMENT_TEAM = T93S37G27F; DEVELOPMENT_TEAM = "";
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = relax.offline.mp3.music/Info.plist; INFOPLIST_FILE = relax.offline.mp3.music/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = Musiclax; INFOPLIST_KEY_CFBundleDisplayName = Musiclax;
@ -1601,7 +1601,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.3; MARKETING_VERSION = 1.0.4;
PRODUCT_BUNDLE_IDENTIFIER = relax.offline.mp3.music; PRODUCT_BUNDLE_IDENTIFIER = relax.offline.mp3.music;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";

View File

@ -101,12 +101,22 @@ class MPPositive_PlayerViewController: MPPositive_BaseViewController, UIViewCont
btn.addTarget(self, action: #selector(nextClick(_ :)), for: .touchUpInside) btn.addTarget(self, action: #selector(nextClick(_ :)), for: .touchUpInside)
return btn return btn
}() }()
//
private lazy var perviousBtn:UIButton = { private lazy var perviousBtn:UIButton = {
let btn = UIButton() let btn = UIButton()
btn.setBackgroundImage(UIImage(named: "Player_Pervious'logo"), for: .normal) btn.setBackgroundImage(UIImage(named: "Player_Pervious'logo"), for: .normal)
btn.addTarget(self, action: #selector(previousClick(_ :)), for: .touchUpInside) btn.addTarget(self, action: #selector(previousClick(_ :)), for: .touchUpInside)
return btn return btn
}() }()
//
private lazy var activityIndicator:UIActivityIndicatorView = {
let activityIndicator:UIActivityIndicatorView = .init(frame: .init(x: 0, y: 0, width: 66*width, height: 66*width))
activityIndicator.backgroundColor = .white
activityIndicator.layer.masksToBounds = true
activityIndicator.layer.cornerRadius = 33*width
activityIndicator.color = .black
return activityIndicator
}()
//View(View) //View(View)
private lazy var coverView:MPPositive_PlayerCoverView = .init(frame: .init(x: 0, y: 0, width: screen_Width, height: 480*width)) private lazy var coverView:MPPositive_PlayerCoverView = .init(frame: .init(x: 0, y: 0, width: screen_Width, height: 480*width))
//View //View
@ -279,6 +289,12 @@ class MPPositive_PlayerViewController: MPPositive_BaseViewController, UIViewCont
make.centerX.equalToSuperview() make.centerX.equalToSuperview()
make.centerY.equalToSuperview().multipliedBy(1.1) make.centerY.equalToSuperview().multipliedBy(1.1)
} }
bottomView.addSubview(activityIndicator)
activityIndicator.snp.makeConstraints { make in
make.center.equalTo(playBtn)
make.width.height.equalTo(playBtn)
}
activityIndicator.startAnimating()
bottomView.addSubview(listBtn) bottomView.addSubview(listBtn)
listBtn.snp.makeConstraints { make in listBtn.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-20*width) make.right.equalToSuperview().offset(-20*width)

View File

@ -9,7 +9,7 @@ import UIKit
///b ///b
class MPPositive_PlayerSilder: UISlider { class MPPositive_PlayerSilder: UISlider {
/// ///
var hitTestEdgeInsets: UIEdgeInsets = UIEdgeInsets(top: -20, left: -20, bottom: -20, right: -20) var hitTestEdgeInsets: UIEdgeInsets = UIEdgeInsets(top: -20*width, left: 0, bottom: -20*width, right: 0)
/// Slider /// Slider
var originalFrame: CGRect? var originalFrame: CGRect?
// //
@ -29,11 +29,11 @@ class MPPositive_PlayerSilder: UISlider {
override init(frame:CGRect) { override init(frame:CGRect) {
super.init(frame: frame) super.init(frame: frame)
setUpLayout() setUpLayout()
print("调整Slider大小")
originalFrame = self.frame
} }
override func awakeFromNib() { override func awakeFromNib() {
super.awakeFromNib() super.awakeFromNib()
print("调整Slider大小")
originalFrame = self.frame
} }
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
@ -136,11 +136,55 @@ class MPPositive_PlayerSilder: UISlider {
override func point(inside point: CGPoint, with event: UIEvent?) -> Bool { override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
//Slider //Slider
let largerFrame: CGRect = self.bounds.inset(by: hitTestEdgeInsets) let largerFrame: CGRect = self.bounds.inset(by: hitTestEdgeInsets)
//
let isInside = largerFrame.contains(point)
return true return largerFrame.contains(point)
}
//
override func beginTracking(_ touch: UITouch, with event: UIEvent?) -> Bool {
let tracking = super.beginTracking(touch, with: event)
if tracking == true {
//
focusOnSlider(true)
}else {
let touchPoint = touch.location(in: self)
//
let value = self.minimumValue + Float(touchPoint.x / self.bounds.width) * (self.maximumValue - self.minimumValue)
//
self.setValue(value, animated: false)
//
MP_PlayerManager.shared.setEditProgressEnd(value)
}
return tracking
}
//
override func continueTracking(_ touch: UITouch, with event: UIEvent?) -> Bool {
//
return super.continueTracking(touch, with: event)
}
//
override func endTracking(_ touch: UITouch?, with event: UIEvent?) {
super.endTracking(touch, with: event)
//
focusOnSlider(false)
}
//
override func cancelTracking(with event: UIEvent?) {
super.cancelTracking(with: event)
//
focusOnSlider(false)
} }
//slider //slider
private func focusOnSlider(_ focusing:Bool) {
guard let originalFrame = originalFrame else { return }
//Slider
UIView.animate(withDuration: 0.3) {
if focusing {
//slider
self.transform = CGAffineTransform(scaleX: 1.0, y: 1.5)
}else {
//
self.transform = .identity
}
}
}
} }