From 36d13b2769ac8c79083c7d7b7222794cf2500ece Mon Sep 17 00:00:00 2001 From: wenlei Date: Fri, 10 Nov 2023 17:52:26 +0800 Subject: [PATCH] Build the player interface --- .../IndieMusic.xcodeproj/project.pbxproj | 12 + .../IndieMusic/Common/BlurEffectView.swift | 53 +++ .../IndieMusic/Common/PaddingLabel.swift | 54 +++ .../Extensions/UIColor+IndieMusic.swift | 9 +- .../IndieMusic/Managers/ThemeManager.swift | 16 +- .../Modules/Home/HomeViewController.swift | 68 +-- .../Modules/Player/PlayerView.swift | 423 ++++++++++++++++++ .../Modules/Player/PlayerViewController.swift | 92 +++- .../cover.imageset/Contents.json | 21 + .../Assets.xcassets/cover.imageset/cover.jpg | Bin 0 -> 82760 bytes .../cover1.imageset/Contents.json | 21 + .../Assets.xcassets/cover1.imageset/cover.jpg | Bin 0 -> 55633 bytes .../Assets.xcassets/play/Contents.json | 6 + .../play/play_drop_btn.imageset/Contents.json | 21 + .../play_drop_btn.imageset/play_drop_btn.svg | 3 + .../play/play_last_btn.imageset/Contents.json | 21 + .../play_last_btn.imageset/play_last_btn.svg | 4 + .../play/play_like_on.imageset/Contents.json | 21 + .../play_like_on.imageset/play_like_on.svg | 4 + .../play/play_list_btn.imageset/Contents.json | 21 + .../play_list_btn.imageset/play_list_btn.svg | 6 + .../play/play_more_btn.imageset/Contents.json | 21 + .../play_more_btn.imageset/play_more_btn.svg | 5 + .../play/play_next_btn.imageset/Contents.json | 21 + .../play_next_btn.imageset/play_next_btn.svg | 4 + .../play_pause_btn.imageset/Contents.json | 21 + .../play_pause_btn.svg | 5 + .../play_share_btn.imageset/Contents.json | 21 + .../play_share_btn.svg | 3 + .../Contents.json | 21 + .../play_single_modes_btn.svg | 4 + IndieMusic/IndieMusic/Resources/Info.plist | 4 + IndieMusic/Podfile | 1 + 33 files changed, 924 insertions(+), 83 deletions(-) create mode 100644 IndieMusic/IndieMusic/Common/BlurEffectView.swift create mode 100644 IndieMusic/IndieMusic/Common/PaddingLabel.swift create mode 100644 IndieMusic/IndieMusic/Modules/Player/PlayerView.swift create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/cover.imageset/Contents.json create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/cover.imageset/cover.jpg create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/cover1.imageset/Contents.json create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/cover1.imageset/cover.jpg create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/Contents.json create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_drop_btn.imageset/Contents.json create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_drop_btn.imageset/play_drop_btn.svg create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_last_btn.imageset/Contents.json create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_last_btn.imageset/play_last_btn.svg create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_like_on.imageset/Contents.json create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_like_on.imageset/play_like_on.svg create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_list_btn.imageset/Contents.json create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_list_btn.imageset/play_list_btn.svg create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_more_btn.imageset/Contents.json create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_more_btn.imageset/play_more_btn.svg create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_next_btn.imageset/Contents.json create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_next_btn.imageset/play_next_btn.svg create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_pause_btn.imageset/Contents.json create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_pause_btn.imageset/play_pause_btn.svg create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_share_btn.imageset/Contents.json create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_share_btn.imageset/play_share_btn.svg create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_single_modes_btn.imageset/Contents.json create mode 100644 IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_single_modes_btn.imageset/play_single_modes_btn.svg diff --git a/IndieMusic/IndieMusic.xcodeproj/project.pbxproj b/IndieMusic/IndieMusic.xcodeproj/project.pbxproj index a359aa5..7da626b 100644 --- a/IndieMusic/IndieMusic.xcodeproj/project.pbxproj +++ b/IndieMusic/IndieMusic.xcodeproj/project.pbxproj @@ -11,6 +11,9 @@ 49330FC1492387B5155757F6 /* Pods_IndieMusic_IndieMusicUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA03C869C12FEE5FB3D835C2 /* Pods_IndieMusic_IndieMusicUITests.framework */; }; 7743999E2AFA18C3006F8EEA /* PlayerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7743999D2AFA18C3006F8EEA /* PlayerViewController.swift */; }; 774399A02AFA1968006F8EEA /* PlayerTabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7743999F2AFA1968006F8EEA /* PlayerTabBar.swift */; }; + 774399A62AFE036A006F8EEA /* PlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 774399A52AFE036A006F8EEA /* PlayerView.swift */; }; + 774399A82AFE28BA006F8EEA /* BlurEffectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 774399A72AFE28BA006F8EEA /* BlurEffectView.swift */; }; + 774399AA2AFE3170006F8EEA /* PaddingLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 774399A92AFE3170006F8EEA /* PaddingLabel.swift */; }; 778B8A212AF8E36D0034AFD4 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 778B8A202AF8E36D0034AFD4 /* AppDelegate.swift */; }; 778B8A232AF8E36D0034AFD4 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 778B8A222AF8E36D0034AFD4 /* SceneDelegate.swift */; }; 778B8A282AF8E36D0034AFD4 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 778B8A262AF8E36D0034AFD4 /* Main.storyboard */; }; @@ -95,6 +98,9 @@ 69F724137B8F9C1F7E51080D /* Pods-IndieMusicTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IndieMusicTests.release.xcconfig"; path = "Target Support Files/Pods-IndieMusicTests/Pods-IndieMusicTests.release.xcconfig"; sourceTree = ""; }; 7743999D2AFA18C3006F8EEA /* PlayerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerViewController.swift; sourceTree = ""; }; 7743999F2AFA1968006F8EEA /* PlayerTabBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerTabBar.swift; sourceTree = ""; }; + 774399A52AFE036A006F8EEA /* PlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerView.swift; sourceTree = ""; }; + 774399A72AFE28BA006F8EEA /* BlurEffectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlurEffectView.swift; sourceTree = ""; }; + 774399A92AFE3170006F8EEA /* PaddingLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaddingLabel.swift; sourceTree = ""; }; 778B8A1D2AF8E36D0034AFD4 /* IndieMusic.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = IndieMusic.app; sourceTree = BUILT_PRODUCTS_DIR; }; 778B8A202AF8E36D0034AFD4 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 778B8A222AF8E36D0034AFD4 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -194,6 +200,7 @@ children = ( 7743999D2AFA18C3006F8EEA /* PlayerViewController.swift */, 7743999F2AFA1968006F8EEA /* PlayerTabBar.swift */, + 774399A52AFE036A006F8EEA /* PlayerView.swift */, ); path = Player; sourceTree = ""; @@ -286,6 +293,8 @@ 778B8AB72AF8ED280034AFD4 /* ViewController.swift */, 778B8AB52AF8ED280034AFD4 /* ViewModel.swift */, 778B8AB22AF8ED270034AFD4 /* WebViewController.swift */, + 774399A72AFE28BA006F8EEA /* BlurEffectView.swift */, + 774399A92AFE3170006F8EEA /* PaddingLabel.swift */, ); path = Common; sourceTree = ""; @@ -714,6 +723,7 @@ buildActionMask = 2147483647; files = ( 778B8A5D2AF8EC610034AFD4 /* Application.swift in Sources */, + 774399A62AFE036A006F8EEA /* PlayerView.swift in Sources */, 778B8A5F2AF8ECAB0034AFD4 /* Navigator.swift in Sources */, 778B8AA82AF8ED0E0034AFD4 /* Color.swift in Sources */, 778B8AAE2AF8ED0E0034AFD4 /* TextView.swift in Sources */, @@ -726,12 +736,14 @@ 778B8A9D2AF8ECFC0034AFD4 /* LibsManager.swift in Sources */, 778B8A832AF8ECE50034AFD4 /* HomeViewController.swift in Sources */, 778B8ABE2AF8ED280034AFD4 /* ViewModel.swift in Sources */, + 774399A82AFE28BA006F8EEA /* BlurEffectView.swift in Sources */, 778B8A852AF8ECE50034AFD4 /* SearchViewController.swift in Sources */, 778B8AAB2AF8ED0E0034AFD4 /* UIView+Borders.swift in Sources */, 778B8AC12AF8ED280034AFD4 /* TableView.swift in Sources */, 778B8A9C2AF8ECFC0034AFD4 /* LogManager.swift in Sources */, 778B8A992AF8ECFC0034AFD4 /* Reachability.swift in Sources */, 778B8ABF2AF8ED280034AFD4 /* NavigationController.swift in Sources */, + 774399AA2AFE3170006F8EEA /* PaddingLabel.swift in Sources */, 778B8A822AF8ECE50034AFD4 /* HomeViewModel.swift in Sources */, 778B8AAD2AF8ED0E0034AFD4 /* RxMJRefresh.swift in Sources */, 778B8A922AF8ECF20034AFD4 /* AudioTrack.swift in Sources */, diff --git a/IndieMusic/IndieMusic/Common/BlurEffectView.swift b/IndieMusic/IndieMusic/Common/BlurEffectView.swift new file mode 100644 index 0000000..920df85 --- /dev/null +++ b/IndieMusic/IndieMusic/Common/BlurEffectView.swift @@ -0,0 +1,53 @@ +// +// BlurEffectView.swift +// IndieMusic +// +// Created by WenLei on 2023/11/10. +// + +import UIKit + +class BlurEffectView: UIView { + + var blurView: UIVisualEffectView = { + let blurEffect = UIBlurEffect(style: .systemThickMaterialDark) + let blurView = UIVisualEffectView(effect: blurEffect) + + return blurView + }() + + var imageView: UIImageView = { + let imageView = UIImageView.init(image: UIImage.init(named: "cover")) + + return imageView + }() + + override init(frame: CGRect) { + super.init(frame: frame) + + makeUI() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + func makeUI() { + addSubview(imageView) + addSubview(blurView) + + } + + override func layoutSubviews() { + super.layoutSubviews() + + imageView.snp.makeConstraints { make in + make.edges.equalTo(self) + } + + blurView.snp.makeConstraints { make in + make.edges.equalTo(self) + } + } + +} diff --git a/IndieMusic/IndieMusic/Common/PaddingLabel.swift b/IndieMusic/IndieMusic/Common/PaddingLabel.swift new file mode 100644 index 0000000..09bf743 --- /dev/null +++ b/IndieMusic/IndieMusic/Common/PaddingLabel.swift @@ -0,0 +1,54 @@ +// +// PaddingLabel.swift +// IndieMusic +// +// Created by WenLei on 2023/11/10. +// + +import UIKit + +class PaddingLabel: UILabel { +// var textInsets = UIEdgeInsets.init(top: 10, left: 10, bottom: 10, right: 0) { +// didSet { setNeedsDisplay() } +// } +// +// override func drawText(in rect: CGRect) { +// super.drawText(in: rect.inset(by: textInsets)) +// } + + var circularFillet = true + + var padding = UIEdgeInsets(top: 8, left: 10, bottom: 8, right: 10) + override func drawText(in rect: CGRect) { + super.drawText(in: rect.inset(by: padding)) + } + + + init(padding: UIEdgeInsets = UIEdgeInsets(top: 5, left: 10, bottom: 5, right: 10), frame: CGRect = CGRect.zero) { + self.padding = padding + super.init(frame: frame) + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + override var intrinsicContentSize : CGSize { + let superContentSize = super.intrinsicContentSize + let width = superContentSize.width + padding.left + padding.right + let heigth = superContentSize.height + padding.top + padding.bottom + return CGSize(width: width, height: heigth) + } + + override func layoutSubviews() { + super.layoutSubviews() + if circularFillet == true { + let h = self.frame.size.height + self.layer.cornerRadius = h / 2 + self.layer.masksToBounds = true + } + + + } + +} diff --git a/IndieMusic/IndieMusic/Extensions/UIColor+IndieMusic.swift b/IndieMusic/IndieMusic/Extensions/UIColor+IndieMusic.swift index adcb7eb..5ee3020 100644 --- a/IndieMusic/IndieMusic/Extensions/UIColor+IndieMusic.swift +++ b/IndieMusic/IndieMusic/Extensions/UIColor+IndieMusic.swift @@ -11,22 +11,25 @@ import UIKit extension UIColor { + /// 功能色 static func primary() -> UIColor { return themeService.type.associatedObject.primary } - + /// 主文本色 static func primaryText() -> UIColor { return themeService.type.associatedObject.primaryText } - + /// 副文本色 static func secondaryText() -> UIColor { return themeService.type.associatedObject.secondaryText } - + + /// 次级文本色 static func tertiaryText() -> UIColor { return themeService.type.associatedObject.tertiaryText } + /// 分割线色 static func separator() -> UIColor { return themeService.type.associatedObject.separator } diff --git a/IndieMusic/IndieMusic/Managers/ThemeManager.swift b/IndieMusic/IndieMusic/Managers/ThemeManager.swift index c9738ea..57eca5b 100644 --- a/IndieMusic/IndieMusic/Managers/ThemeManager.swift +++ b/IndieMusic/IndieMusic/Managers/ThemeManager.swift @@ -16,9 +16,13 @@ let globalStatusBarStyle = BehaviorRelay(value: .default) let themeService = ThemeType.service(initial: ThemeType.currentTheme()) protocol Theme { + // 功能色 var primary: UIColor { get } + // 主文本色 var primaryText: UIColor { get } + // 副文本色 var secondaryText: UIColor { get } + // 次级文本色 var tertiaryText: UIColor { get } var separator: UIColor { get } @@ -32,10 +36,14 @@ protocol Theme { } struct LightTheme: Theme { + // 功能色 let primary = UIColor.init(hex: 0xB44343) + // 主文本色 let primaryText = UIColor.init(hex: 0x000000, alpha: 0.9) - let secondaryText = UIColor.init(hex: 0xB44343, alpha: 0.6) - let tertiaryText = UIColor.init(hex: 0xB44343, alpha: 0.4) + // 副文本色 + let secondaryText = UIColor.init(hex: 0x000000, alpha: 0.6) + // 次级文本色 + let tertiaryText = UIColor.init(hex: 0x000000, alpha: 0.4) let separator = UIColor.init(hex: 0x000000, alpha: 0.1) @@ -54,8 +62,8 @@ struct DarkTheme: Theme { let primary = UIColor.init(hex: 0xB44343) let primaryText = UIColor.init(hex: 0x000000, alpha: 0.9) - let secondaryText = UIColor.init(hex: 0xB44343, alpha: 0.6) - let tertiaryText = UIColor.init(hex: 0xB44343, alpha: 0.4) + let secondaryText = UIColor.init(hex: 0x000000, alpha: 0.6) + let tertiaryText = UIColor.init(hex: 0x000000, alpha: 0.4) let separator = UIColor.init(hex: 0x000000, alpha: 0.1) diff --git a/IndieMusic/IndieMusic/Modules/Home/HomeViewController.swift b/IndieMusic/IndieMusic/Modules/Home/HomeViewController.swift index e01eec3..f5d4324 100644 --- a/IndieMusic/IndieMusic/Modules/Home/HomeViewController.swift +++ b/IndieMusic/IndieMusic/Modules/Home/HomeViewController.swift @@ -8,40 +8,19 @@ import UIKit class HomeViewController: ViewController { - - var button: UIButton = { - let button = UIButton.init() - button.setTitle("button 1", for: .normal) - button.backgroundColor = .red - button.addTarget(self, action: #selector(buttonClick), for: .touchUpInside) - return button - }() - - var button2: UIButton = { - let button = UIButton.init() - button.setTitle("button 2", for: .normal) - button.backgroundColor = .blue - - button.addTarget(self, action: #selector(buttonClick2), for: .touchUpInside) - return button - }() override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. - self.navigationTitle = "123" } override func makeUI() { super.makeUI() - - view.backgroundColor = .white - - view.addSubview(button) - view.addSubview(button2) + view.backgroundColor = .white + } @@ -54,47 +33,14 @@ class HomeViewController: ViewController { override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() - button.snp.makeConstraints { make in - make.centerX.equalTo(view) - make.centerY.equalTo(view).offset(-100) - make.size.equalTo(CGSize.init(width: 100, height: 100)) - } - - button2.snp.makeConstraints { make in - make.centerX.equalTo(view) - make.centerY.equalTo(view).offset(100) - make.size.equalTo(CGSize.init(width: 100, height: 100)) - } - } - - @objc func buttonClick() { -// guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return } -// -// -// if let tabbar = UIApplication.shared.windows.first?.rootViewController as? IndieMusicViewController { -// tabbar.showTabBar(!tabbar.isTabBarShowing, animated: true) -// } -// - if let tabbar = self.tabBarController as? HomeTabBarController { - tabbar.showTabBar(!tabbar.isTabBarShowing, animated: true) - } - - } - - - @objc func buttonClick2() { - if let tabbar = self.tabBarController as? HomeTabBarController { - tabbar.showPlayerBar(!tabbar.isPlayerBarShowing, animated: true) - } + } override func touchesBegan(_ touches: Set, with event: UIEvent?) { - hidesBottomBarWhenPushed = false - - let vc = PlayerViewController.init(viewModel: viewModel, navigator: navigator) - vc.view.backgroundColor = .white - self.navigationController?.pushViewController(vc, animated: true) + let play = PlayerViewController.init(viewModel: viewModel, navigator: navigator) + play.modalPresentationStyle = .custom + self.present(play, animated: true) -// self.present(vc, animated: true) } + } diff --git a/IndieMusic/IndieMusic/Modules/Player/PlayerView.swift b/IndieMusic/IndieMusic/Modules/Player/PlayerView.swift new file mode 100644 index 0000000..7a480b4 --- /dev/null +++ b/IndieMusic/IndieMusic/Modules/Player/PlayerView.swift @@ -0,0 +1,423 @@ +// +// PlayerView.swift +// IndieMusic +// +// Created by WenLei on 2023/11/10. +// + +import UIKit + +class PlayerViewTopBar: UIView { + lazy var dropButton: UIButton = { + let dropButton = UIButton.init() + dropButton.setImage(UIImage.init(named: "play_drop_btn"), for: .normal) + + return dropButton + }() + + lazy var segementView: UIView = { + let segementView = UIView.init() + + return segementView + }() + + lazy var moreButton: UIButton = { + let moreButton = UIButton.init() + moreButton.setImage(UIImage.init(named: "play_more_btn"), for: .normal) + + return moreButton + }() + + + override init(frame: CGRect) { + super.init(frame: frame) + + makeUI() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + func makeUI() { + addSubview(dropButton) + addSubview(segementView) + addSubview(moreButton) + } + + override func layoutSubviews() { + super.layoutSubviews() + + + dropButton.snp.makeConstraints { make in + make.left.equalTo(self).offset(18) + make.centerY.equalTo(self) + } + + + moreButton.snp.makeConstraints { make in + make.right.equalTo(self).offset(-18) + make.centerY.equalTo(self) + } + + segementView.snp.makeConstraints { make in + make.left.equalTo(dropButton.snp.right).offset(10) + make.right.equalTo(moreButton.snp.left).offset(-10) + make.top.equalTo(self) + make.bottom.equalTo(self) + + } + + } + +} + + +class PlayerControlView: UIView { + var playModesButton: UIButton = { + let playModesButton = UIButton.init() + playModesButton.setImage(UIImage.init(named: "play_single_modes_btn"), for: .normal) + + return playModesButton + }() + + + var lastButton: UIButton = { + let lastButton = UIButton.init() + lastButton.setImage(UIImage.init(named: "play_last_btn"), for: .normal) + + return lastButton + }() + + var playButton: UIButton = { + let playButton = UIButton.init() + playButton.setImage(UIImage.init(named: "play_pause_btn"), for: .normal) + + return playButton + }() + + var nextButton: UIButton = { + let nextButton = UIButton.init() + nextButton.setImage(UIImage.init(named: "play_next_btn"), for: .normal) + + return nextButton + }() + + var listButton: UIButton = { + let listButton = UIButton.init() + listButton.setImage(UIImage.init(named: "play_list_btn"), for: .normal) + + return listButton + }() + + + override init(frame: CGRect) { + super.init(frame: frame) + + + makeUI() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + func makeUI() { + addSubview(playModesButton) + addSubview(lastButton) + addSubview(playButton) + addSubview(nextButton) + addSubview(listButton) + } + + + override func layoutSubviews() { + super.layoutSubviews() + + + playButton.snp.makeConstraints { make in + make.centerX.equalTo(self) + make.centerY.equalTo(self) + } + + lastButton.snp.makeConstraints { make in + make.right.equalTo(playButton.snp.left).offset(-40) + make.centerY.equalTo(self) + } + + playModesButton.snp.makeConstraints { make in + make.right.equalTo(lastButton.snp.left).offset(-40) + make.centerY.equalTo(self) + } + + nextButton.snp.makeConstraints { make in + make.left.equalTo(playButton.snp.right).offset(40) + make.centerY.equalTo(self) + } + + listButton.snp.makeConstraints { make in + make.left.equalTo(nextButton.snp.right).offset(40) + make.centerY.equalTo(self) + } + + } + +} + + + +class PlayerScrollView: UIScrollView { + var containerView: UIView = { + let containerView = UIView.init() + + return containerView + }() + + + var playerInfoView: PlayerInfoView = { + let playerInfoView = PlayerInfoView.init() + + return playerInfoView + }() + + var lyricsView: UIView = { + let lyricsView = UIView.init() + + return lyricsView + }() + + + override init(frame: CGRect) { + super.init(frame: frame) + + makeUI() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + func makeUI() { + addSubview(containerView) + + containerView.addSubview(playerInfoView) + containerView.addSubview(lyricsView) + } + + override func layoutSubviews() { + super.layoutSubviews() + + containerView.snp.makeConstraints { make in + make.edges.equalTo(self) + make.height.equalToSuperview() + make.width.greaterThanOrEqualToSuperview() + } + + playerInfoView.snp.makeConstraints { make in + make.left.equalTo(containerView) + make.top.equalTo(containerView) + make.bottom.equalTo(containerView) + make.width.equalTo(BaseDimensions.screenWidth) + } + + lyricsView.snp.makeConstraints { make in + make.left.equalTo(playerInfoView.snp.right) + make.top.equalTo(containerView) + make.bottom.equalTo(containerView) + make.right.equalTo(containerView) + } + + + } + + +} + + +class PlayerInfoView: UIView { + var coverView: UIImageView = { + let coverView = UIImageView.init() + coverView.layer.cornerRadius = 6 + coverView.layer.masksToBounds = true + + return coverView + }() + + var pageControl: UIPageControl = { + let pageControl = UIPageControl.init() + pageControl.numberOfPages = 2 + + return pageControl + }() + + + + var numberLabel: PaddingLabel = { + let numberLabel = PaddingLabel.init() + numberLabel.font = UIFont.systemFont(ofSize: 12) + numberLabel.textColor = .init(hex: 0xFFFFFF) + numberLabel.backgroundColor = .init(hex: 0xFFFFFF, alpha: 0.1) +// numberLabel.layer.cornerRadius = 25 + + + return numberLabel + }() + + + var titleLabel: UILabel = { + let titleLabel = UILabel.init() + titleLabel.font = UIFont.systemFont(ofSize: 20, weight: .medium) + titleLabel.textColor = .init(hex: 0xFFFFFF, alpha: 0.9) + + return titleLabel + }() + + var artistLabel: UILabel = { + let artistLabel = UILabel.init() + artistLabel.font = UIFont.systemFont(ofSize: 12) + artistLabel.textColor = .init(hex: 0xFFFFFF, alpha: 0.6) + + return artistLabel + }() + + + var shareButton: UIButton = { + let shareButton = UIButton.init() + shareButton.setImage(UIImage.init(named: "play_share_btn"), for: .normal) + shareButton.setContentHuggingPriority(.required, for: .horizontal) + shareButton.setContentCompressionResistancePriority(.required, for: .horizontal) + return shareButton + + }() + + var likeButton: UIButton = { + let likeButton = UIButton.init() + likeButton.setImage(UIImage.init(named: "play_like_on"), for: .normal) + likeButton.setContentHuggingPriority(.required, for: .horizontal) + likeButton.setContentCompressionResistancePriority(.required, for: .horizontal) + + return likeButton + }() + + var playerSlider: UISlider = { + let playerSlider = UISlider.init() + playerSlider.tintColor = .white + + + return playerSlider + }() + + + var startTimeLabel: UILabel = { + let startTimeLabel = UILabel.init() + startTimeLabel.font = UIFont.systemFont(ofSize: 12) + startTimeLabel.textColor = .init(hex: 0xFFFFFF, alpha: 0.4) + + return startTimeLabel + }() + + var endTimeLabel: UILabel = { + let endTimeLabel = UILabel.init() + endTimeLabel.font = UIFont.systemFont(ofSize: 12) + endTimeLabel.textColor = .init(hex: 0xFFFFFF, alpha: 0.4) + + return endTimeLabel + }() + + override init(frame: CGRect) { + super.init(frame: frame) + + makeUI() + + numberLabel.text = "VOL 1092" + titleLabel.text = "fdsfds" + artistLabel.text = "1233321" + startTimeLabel.text = "00:00" + endTimeLabel.text = "00:00" + + coverView.backgroundColor = .gray + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + func makeUI() { + addSubview(coverView) + addSubview(pageControl) + + addSubview(numberLabel) + addSubview(titleLabel) + addSubview(artistLabel) + addSubview(shareButton) + addSubview(likeButton) + addSubview(playerSlider) + addSubview(startTimeLabel) + addSubview(endTimeLabel) + } + + override func layoutSubviews() { + super.layoutSubviews() + + coverView.snp.makeConstraints { make in + make.top.equalTo(self).offset(10) + make.left.equalTo(self).offset(18) + make.right.equalTo(self).offset(-18) + make.height.equalTo(coverView.snp.width) + } + + pageControl.snp.makeConstraints { make in + make.centerX.equalTo(self) + make.top.equalTo(coverView.snp.bottom).offset(10) + } + + + numberLabel.snp.makeConstraints { make in + make.left.equalTo(self).offset(18) + make.top.equalTo(pageControl.snp.bottom).offset(18) + } + + shareButton.snp.makeConstraints { make in + make.right.equalTo(self).offset(-18) + make.top.equalTo(pageControl.snp.bottom).offset(55) + } + + likeButton.snp.makeConstraints { make in + make.right.equalTo(shareButton.snp.left).offset(-15) + make.top.equalTo(pageControl.snp.bottom).offset(55) + } + + titleLabel.snp.makeConstraints { make in + make.right.equalTo(likeButton.snp.left).offset(-10) + make.left.equalTo(self).offset(18) + make.top.equalTo(numberLabel.snp.bottom).offset(15) + } + + artistLabel.snp.makeConstraints { make in + make.left.equalTo(self).offset(18) + make.right.equalTo(likeButton.snp.left).offset(-10) + make.top.equalTo(titleLabel.snp.bottom).offset(3) + } + + playerSlider.snp.makeConstraints { make in + make.left.equalTo(self).offset(18) + make.right.equalTo(self).offset(-18) + make.top.equalTo(artistLabel.snp.bottom).offset(18) + } + + startTimeLabel.snp.makeConstraints { make in + make.left.equalTo(self).offset(18) + make.top.equalTo(playerSlider.snp.bottom).offset(3) + make.bottom.equalTo(self).offset(-10) + } + + endTimeLabel.snp.makeConstraints { make in + make.right.equalTo(self).offset(-18) + make.top.equalTo(playerSlider.snp.bottom).offset(3) + make.bottom.equalTo(self).offset(-10) + } + } + +} + + diff --git a/IndieMusic/IndieMusic/Modules/Player/PlayerViewController.swift b/IndieMusic/IndieMusic/Modules/Player/PlayerViewController.swift index aa25249..429eca3 100644 --- a/IndieMusic/IndieMusic/Modules/Player/PlayerViewController.swift +++ b/IndieMusic/IndieMusic/Modules/Player/PlayerViewController.swift @@ -8,14 +8,42 @@ import UIKit class PlayerViewController: ViewController { + + var blurEffectView: BlurEffectView = { + let blurEffectView = BlurEffectView.init() + + return blurEffectView + }() + + var playerViewTopBar: PlayerViewTopBar = { + let playerViewTopBar = PlayerViewTopBar.init() + playerViewTopBar.setContentHuggingPriority(.required, for: .vertical) + playerViewTopBar.setContentCompressionResistancePriority(.required, for: .vertical) + + return playerViewTopBar + }() + + var playerScrollView: PlayerScrollView = { + let playerScrollView = PlayerScrollView.init() + + + return playerScrollView + }() + + + var playerControlView: PlayerControlView = { + let playerControlView = PlayerControlView.init() + playerControlView.setContentHuggingPriority(.required, for: .vertical) + playerControlView.setContentCompressionResistancePriority(.required, for: .vertical) + + return playerControlView + }() + + override func viewDidLoad() { super.viewDidLoad() -// hidesBottomBarWhenPushed = false - - self.navigationTitle = "1234" - self.navigationController?.setNavigationBarHidden(false, animated: true) } override func viewWillAppear(_ animated: Bool) { @@ -24,20 +52,54 @@ class PlayerViewController: ViewController { } + override func makeUI() { + super.makeUI() + + view.backgroundColor = .white + + view.addSubview(blurEffectView) + view.addSubview(playerViewTopBar) + view.addSubview(playerScrollView) + view.addSubview(playerControlView) + + } - override func touchesBegan(_ touches: Set, with event: UIEvent?) { - if let tabbar = self.tabBarController as? HomeTabBarController { - - + override func bindViewModel() { + super.bindViewModel() + + } + + override func viewDidLayoutSubviews() { + super.viewDidLayoutSubviews() + + blurEffectView.snp.makeConstraints { make in + make.edges.equalTo(view) } -// -// let vc = MineViewController.init(viewModel: viewModel, navigator: navigator) -// -// self.present(vc, animated: true) + playerViewTopBar.snp.makeConstraints { make in + make.left.equalTo(view) + make.right.equalTo(view) + make.top.equalTo(view).offset(BaseDimensions.statusBarHeight) + make.height.equalTo(BaseDimensions.navBarHeight) + } -// UIView.animate(withDuration: 0.3) { -// self.tabBarController?.tabBar.isHidden.toggle() -// } + playerControlView.snp.makeConstraints { make in + make.left.equalTo(view) + make.right.equalTo(view) + make.bottom.equalTo(view).offset(-BaseDimensions.bottomHeight).offset(-55) + } + + playerScrollView.snp.makeConstraints { make in + make.left.equalTo(view) + make.right.equalTo(view) + make.top.equalTo(playerViewTopBar.snp.bottom).priority(.high) + make.bottom.equalTo(playerControlView.snp.top).priority(.high) + } + + } + + + override func touchesBegan(_ touches: Set, with event: UIEvent?) { + self.dismiss(animated: true) } } diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/cover.imageset/Contents.json b/IndieMusic/IndieMusic/Resources/Assets.xcassets/cover.imageset/Contents.json new file mode 100644 index 0000000..c1fd1c5 --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/cover.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "cover.jpg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/cover.imageset/cover.jpg b/IndieMusic/IndieMusic/Resources/Assets.xcassets/cover.imageset/cover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4a24314778dd2cfc89aa9c1bb34a35a9ecf5a5e4 GIT binary patch literal 82760 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%0Df(We8>wgEo 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%0A3kOsWGdzHP8tCy3+11|6gizK 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 literal 0 HcmV?d00001 diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/Contents.json b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_drop_btn.imageset/Contents.json b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_drop_btn.imageset/Contents.json new file mode 100644 index 0000000..fcf9ec5 --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_drop_btn.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "play_drop_btn.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_drop_btn.imageset/play_drop_btn.svg b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_drop_btn.imageset/play_drop_btn.svg new file mode 100644 index 0000000..0fabee6 --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_drop_btn.imageset/play_drop_btn.svg @@ -0,0 +1,3 @@ + + + diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_last_btn.imageset/Contents.json b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_last_btn.imageset/Contents.json new file mode 100644 index 0000000..c4b910a --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_last_btn.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "play_last_btn.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_last_btn.imageset/play_last_btn.svg b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_last_btn.imageset/play_last_btn.svg new file mode 100644 index 0000000..2fb58a0 --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_last_btn.imageset/play_last_btn.svg @@ -0,0 +1,4 @@ + + + + diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_like_on.imageset/Contents.json b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_like_on.imageset/Contents.json new file mode 100644 index 0000000..1cc2512 --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_like_on.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "play_like_on.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_like_on.imageset/play_like_on.svg b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_like_on.imageset/play_like_on.svg new file mode 100644 index 0000000..ebed06a --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_like_on.imageset/play_like_on.svg @@ -0,0 +1,4 @@ + + + + diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_list_btn.imageset/Contents.json b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_list_btn.imageset/Contents.json new file mode 100644 index 0000000..89463ee --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_list_btn.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "play_list_btn.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_list_btn.imageset/play_list_btn.svg b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_list_btn.imageset/play_list_btn.svg new file mode 100644 index 0000000..c56dece --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_list_btn.imageset/play_list_btn.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_more_btn.imageset/Contents.json b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_more_btn.imageset/Contents.json new file mode 100644 index 0000000..0ea70da --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_more_btn.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "play_more_btn.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_more_btn.imageset/play_more_btn.svg b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_more_btn.imageset/play_more_btn.svg new file mode 100644 index 0000000..d7c6a7e --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_more_btn.imageset/play_more_btn.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_next_btn.imageset/Contents.json b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_next_btn.imageset/Contents.json new file mode 100644 index 0000000..4a05a3c --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_next_btn.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "play_next_btn.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_next_btn.imageset/play_next_btn.svg b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_next_btn.imageset/play_next_btn.svg new file mode 100644 index 0000000..e73b766 --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_next_btn.imageset/play_next_btn.svg @@ -0,0 +1,4 @@ + + + + diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_pause_btn.imageset/Contents.json b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_pause_btn.imageset/Contents.json new file mode 100644 index 0000000..68af560 --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_pause_btn.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "play_pause_btn.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_pause_btn.imageset/play_pause_btn.svg b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_pause_btn.imageset/play_pause_btn.svg new file mode 100644 index 0000000..0cb9b23 --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_pause_btn.imageset/play_pause_btn.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_share_btn.imageset/Contents.json b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_share_btn.imageset/Contents.json new file mode 100644 index 0000000..3ada103 --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_share_btn.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "play_share_btn.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_share_btn.imageset/play_share_btn.svg b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_share_btn.imageset/play_share_btn.svg new file mode 100644 index 0000000..a241175 --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_share_btn.imageset/play_share_btn.svg @@ -0,0 +1,3 @@ + + + diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_single_modes_btn.imageset/Contents.json b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_single_modes_btn.imageset/Contents.json new file mode 100644 index 0000000..3dd3e51 --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_single_modes_btn.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "play_single_modes_btn.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_single_modes_btn.imageset/play_single_modes_btn.svg b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_single_modes_btn.imageset/play_single_modes_btn.svg new file mode 100644 index 0000000..8613fe1 --- /dev/null +++ b/IndieMusic/IndieMusic/Resources/Assets.xcassets/play/play_single_modes_btn.imageset/play_single_modes_btn.svg @@ -0,0 +1,4 @@ + + + + diff --git a/IndieMusic/IndieMusic/Resources/Info.plist b/IndieMusic/IndieMusic/Resources/Info.plist index dd3c9af..8e6b5a8 100644 --- a/IndieMusic/IndieMusic/Resources/Info.plist +++ b/IndieMusic/IndieMusic/Resources/Info.plist @@ -21,5 +21,9 @@ + UIBackgroundModes + + audio + diff --git a/IndieMusic/Podfile b/IndieMusic/Podfile index b4a2c74..cf860a1 100644 --- a/IndieMusic/Podfile +++ b/IndieMusic/Podfile @@ -14,6 +14,7 @@ target 'IndieMusic' do pod 'CocoaLumberjack/Swift' pod 'KeychainAccess' + pod 'NSObject+Rx' pod 'RxViewController' pod 'RxSwift', '6.2.0'