Browse Source

1.添加相簿选择

wenweiwei 3 years ago
parent
commit
0cef9df196

+ 5 - 0
Example/BFRecordScreenKit.xcodeproj/project.pbxproj

@@ -23,6 +23,8 @@
 		142F0A79F3F81D559C975EA3 /* Pods-BFRecordScreenKit_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BFRecordScreenKit_Tests.debug.xcconfig"; path = "Target Support Files/Pods-BFRecordScreenKit_Tests/Pods-BFRecordScreenKit_Tests.debug.xcconfig"; sourceTree = "<group>"; };
 		1CDC9754F414D402A7A92B91 /* Pods-BFRecordScreenKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BFRecordScreenKit_Example.debug.xcconfig"; path = "Target Support Files/Pods-BFRecordScreenKit_Example/Pods-BFRecordScreenKit_Example.debug.xcconfig"; sourceTree = "<group>"; };
 		27B6EE71C97A2E92661B8CA2 /* BFRecordScreenKit.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = BFRecordScreenKit.podspec; path = ../BFRecordScreenKit.podspec; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
+		2D091330275756C50026B3FB /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = "<group>"; };
+		2D091331275756C50026B3FB /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = "<group>"; };
 		4A426DA4274F982600B3733B /* VideoExportController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoExportController.swift; sourceTree = "<group>"; };
 		4A426DA6274FA4E000B3733B /* IntroduceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntroduceController.swift; sourceTree = "<group>"; };
 		4A96F093274CF8DC008657DA /* PhotoVideoListController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoVideoListController.swift; sourceTree = "<group>"; };
@@ -194,6 +196,7 @@
 				English,
 				en,
 				Base,
+				"zh-Hans",
 			);
 			mainGroup = 607FACC71AFB9204008FA782;
 			productRefGroup = 607FACD11AFB9204008FA782 /* Products */;
@@ -345,6 +348,7 @@
 			isa = PBXVariantGroup;
 			children = (
 				607FACDA1AFB9204008FA782 /* Base */,
+				2D091330275756C50026B3FB /* zh-Hans */,
 			);
 			name = Main.storyboard;
 			sourceTree = "<group>";
@@ -353,6 +357,7 @@
 			isa = PBXVariantGroup;
 			children = (
 				607FACDF1AFB9204008FA782 /* Base */,
+				2D091331275756C50026B3FB /* zh-Hans */,
 			);
 			name = LaunchScreen.xib;
 			sourceTree = "<group>";

+ 12 - 0
Example/BFRecordScreenKit/AppDelegate.swift

@@ -17,6 +17,18 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
 
     func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
         // Override point for customization after application launch.
+        BFConfig.shared.styleColor = .nomal
+        BFConfig.shared.statusBarStyle = .light
+        BFConfig.shared.styleBackGroundColor = UIColor.black
+        BFConfig.shared.styleTitleColor = UIColor.white
+        BFConfig.shared.cutViewStyleColor = UIColor.white
+        BFConfig.shared.cutViewTintColor = UIColor.black
+        BFConfig.shared.pointEditNamalBackgroundColor = UIColor.hexColor(hexadecimal: "#1A1A1A")
+        BFMaterialConfig.shared.materialDeleteImage =  UIImage.moduleImage(named: "icon_search_delete", moduleName: "BFMaterialKit") ?? UIImage.init()
+        BFConfig.shared.cutDurationColor = UIColor(red: 238.0 / 255.0, green: 0 / 255.0, blue: 81.0 / 255.0, alpha: 0.1)
+        BFConfig.shared.hiddenMusicMask = false
+        BFConfig.shared.otherTintColor = UIColor.hexColor(hexadecimal: "#333333")
+        BFConfig.shared.statusBarStyle = .light
         BFMaterialConfig.shared.choseType = .single
         if let tbc = self.window?.rootViewController as? UITabBarController {
             tbc.selectedIndex = 1

+ 64 - 2
Example/BFRecordScreenKit/PhotoVideoListController.swift

@@ -18,10 +18,43 @@ class PhotoVideoListController: BFBaseViewController {
     
     var chosedAsset:PHAsset?
     
+    lazy var albumController: BFPhotoAlbumController = {
+        let albumController = BFPhotoAlbumController()
+        albumController.mediaType = .video
+        albumController.isTopShow = true
+        albumController.categoryH = cDefaultMargin * 40
+        addChildViewController(albumController)
+        view.insertSubview(albumController.view, belowSubview: navHeadImageView!)
+        albumController.updateViewFrame(frame: CGRect(x: 0, y: navHeadImageView?.frame.maxY ?? cDevice_iPhoneNavBarAndStatusBarHei, width: view.frame.width, height: view.frame.height - (navHeadImageView?.frame.maxY ?? cDevice_iPhoneNavBarAndStatusBarHei)))
+        albumController.selectedHandle = { [weak self] seletedData in
+            if seletedData != nil {
+                self?.albumSelectedHandle(seletedData: seletedData)
+            } else {
+                self?.changeCollecBtn.isSelected = false
+            }
+        }
+        return albumController
+    }()
+    
+    lazy var changeCollecBtn: UIButton = {
+        let changeCollecBtn = UIButton(frame: CGRect(x: cDefaultMargin * 5, y: cDevice_iPhoneStatusBarHei, width: cScreenWidth - cDefaultMargin * 10, height: cDefaultMargin * 4))
+        changeCollecBtn.titleLabel?.lineBreakMode = .byTruncatingTail
+        changeCollecBtn.tintColor = BFConfig.shared.styleTitleColor
+        changeCollecBtn.setTitle("我的相册", for: .normal)
+        changeCollecBtn.setImage(UIImage.moduleImage(named: "icon_selected_down", moduleName: "BFFramework",isAssets: false)?.withRenderingMode(.alwaysTemplate), for: .normal)
+        changeCollecBtn.setImage(UIImage.moduleImage(named: "icon_selected_up", moduleName: "BFFramework",isAssets: false)?.withRenderingMode(.alwaysTemplate), for: .selected)
+        changeCollecBtn.setTitleColor(BFConfig.shared.styleTitleColor, for: .normal)
+        changeCollecBtn.titleLabel?.font = UIFont.systemFont(ofSize: 18, weight: .medium)
+        changeCollecBtn.tag = 1
+        changeCollecBtn.imagePosition(at: PQButtonImageEdgeInsetsStyle.right, space: cDefaultMargin / 2)
+        changeCollecBtn.addTarget(self, action: #selector(btnClick(sender:)), for: .touchUpInside)
+        return changeCollecBtn
+    }()
+    
     lazy var photoMaterialVc: BFPhotosMaterialController = {
         let vc = BFPhotosMaterialController()
-        vc.view.frame = CGRect(x: 0, y: cDevice_iPhoneNavBarAndStatusBarHei, width: cScreenWidth, height: cScreenHeigth - cDevice_iPhoneNavBarAndStatusBarHei - cDevice_iPhoneTabBarHei)
         vc.view.backgroundColor = .black
+        vc.updateFrame(newFrame: CGRect(x: 0, y: cDevice_iPhoneNavBarAndStatusBarHei, width: cScreenWidth, height: cScreenHeigth - cDevice_iPhoneNavBarAndStatusBarHei - cDevice_iPhoneTabBarHei))
         vc.selectedMaterialHandle = { [weak self] currentMaterialData, selectedPhotoData, _, _ in
             if currentMaterialData?.isSelected ?? false{
                 self?.chosedAsset = currentMaterialData
@@ -48,7 +81,7 @@ class PhotoVideoListController: BFBaseViewController {
 
         leftButton(image: nil, imageName: nil, tintColor: .white)
         navHeadImageView?.backgroundColor = .black
-        
+        navHeadImageView?.addSubview(changeCollecBtn)
         addChildViewController(photoMaterialVc)
         view.addSubview(photoMaterialVc.view)
         
@@ -66,6 +99,35 @@ class PhotoVideoListController: BFBaseViewController {
         
     }
     
+    /// 按钮点击事件
+    /// - Parameter sender: <#sender description#>
+    /// - Returns: <#description#>
+    @objc func btnClick(sender: UIButton?) {
+        switch sender?.tag {
+        case 1: // 选择图库
+            sender?.isSelected = !(sender?.isSelected ?? false)
+            if sender?.isSelected ?? false {
+                albumController.showCategoryView()
+            } else {
+                albumController.dismissCategoryView()
+            }
+        default:
+            break
+        }
+    }
+    
+    /// 图库选择的回调
+    /// - Parameter seletedData: <#seletedData description#>
+    /// - Returns: <#description#>
+    func albumSelectedHandle(seletedData: PHAsset?) {
+        changeCollecBtn.isSelected = false
+        if seletedData != nil {
+            changeCollecBtn.setTitle(seletedData?.title ?? "全部", for: .normal)
+            changeCollecBtn.imagePosition(at: PQButtonImageEdgeInsetsStyle.right, space: cDefaultMargin / 2)
+            photoMaterialVc.assetCollection = seletedData?.assetCollection
+        }
+    }
+    
     override func rightBtnClick(sender _: UIButton) {
         if let asset = self.chosedAsset{
             let vc = IntroduceController()

+ 6 - 0
Example/BFRecordScreenKit/zh-Hans.lproj/LaunchScreen.strings

@@ -0,0 +1,6 @@
+
+/* Class = "UILabel"; text = "  Copyright (c) 2015 CocoaPods. All rights reserved."; ObjectID = "8ie-xW-0ye"; */
+"8ie-xW-0ye.text" = "  Copyright (c) 2015 CocoaPods. All rights reserved.";
+
+/* Class = "UILabel"; text = "开讲"; ObjectID = "kId-c2-rCX"; */
+"kId-c2-rCX.text" = "开讲";

+ 9 - 0
Example/BFRecordScreenKit/zh-Hans.lproj/Main.strings

@@ -0,0 +1,9 @@
+
+/* Class = "UITabBarItem"; title = "云空间"; ObjectID = "2DC-kS-hEG"; */
+"2DC-kS-hEG.title" = "云空间";
+
+/* Class = "UITabBarItem"; title = "消息"; ObjectID = "9kT-Qq-aUx"; */
+"9kT-Qq-aUx.title" = "消息";
+
+/* Class = "UITabBarItem"; title = "开讲"; ObjectID = "PHa-lJ-7QQ"; */
+"PHa-lJ-7QQ.title" = "开讲";