Quellcode durchsuchen

修改版本 3bug

100Years vor 1 Monat
Ursprung
Commit
c89f1335ac

+ 2 - 2
AIRingtone.xcodeproj/project.pbxproj

@@ -1068,7 +1068,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 3;
+				CURRENT_PROJECT_VERSION = 4;
 				DEVELOPMENT_TEAM = 65UD255J84;
 				GENERATE_INFOPLIST_FILE = YES;
 				INFOPLIST_FILE = AIRingtone/Info.plist;
@@ -1110,7 +1110,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 3;
+				CURRENT_PROJECT_VERSION = 4;
 				DEVELOPMENT_TEAM = 65UD255J84;
 				GENERATE_INFOPLIST_FILE = YES;
 				INFOPLIST_FILE = AIRingtone/Info.plist;

+ 21 - 0
AIRingtone/Assets.xcassets/Tutorials/tutorials_photo.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "tutorials_photo.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIRingtone/Assets.xcassets/Tutorials/tutorials_photo.imageset/tutorials_photo.png


+ 21 - 0
AIRingtone/Assets.xcassets/Tutorials/tutorials_poster.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "tutorials_poster.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
AIRingtone/Assets.xcassets/Tutorials/tutorials_poster.imageset/tutorials_poster.png


BIN
AIRingtone/Assets.xcassets/Tutorials/tutorials_ringtone.imageset/tutorials_ringtone.png


+ 1 - 1
AIRingtone/Business/TSAIPhotoVC/TSAIPhotoVC.swift

@@ -24,7 +24,7 @@ class TSAIPhotoVC: TSBaseVC {
     
     var tableHeaderViewHeight: CGFloat{
         get{
-            generalPicVC.viewH <= 10 ? 533.0 : generalPicVC.viewH
+            generalPicVC.viewH <= 10 ? 543.0 : generalPicVC.viewH
         }
     }
     var headerInSectionHeight: Int = 44

+ 1 - 1
AIRingtone/Business/TSAIRintoneVC/TSTextGeneralRintoneVC/TSTextGeneralRintoneVC.swift

@@ -13,7 +13,7 @@ class TSTextGeneralRintoneVC: TSBaseVC {
             if cusStackView.viewH > 0{
                 return cusStackView.viewH
             }
-            return 464.0
+            return 474.0
         }
     }
     

+ 2 - 1
AIRingtone/Business/TSThemeVC/TSThemeSetVC/TSThemeSetItemView.swift

@@ -30,7 +30,7 @@ class TSThemeSetItemView: TSBaseView {
     
     override func creatUI() {
         
-        setBtn.contentEdgeInsets = UIEdgeInsets(top:0, left: 16, bottom: 0, right: 16)
+//        setBtn.contentEdgeInsets = UIEdgeInsets(top:0, left: 16, bottom: 0, right: 16)
         
         contentView.snp.updateConstraints { make in
             make.top.equalTo(16)
@@ -67,6 +67,7 @@ class TSThemeSetItemView: TSBaseView {
         
         setBtn.snp.makeConstraints { make in
             make.height.equalTo(32)
+            make.width.equalTo(161)
             make.centerX.equalToSuperview()
             make.bottom.equalTo(-16)
         }

+ 1 - 1
AIRingtone/Business/TSThemeVC/TSThemeSetVC/TSThemeSetVC.swift

@@ -153,7 +153,7 @@ extension TSThemeSetVC {
         guard let photo = avatarImage else { return }
         contactsTool.setContactsAvatar(avatarImage: photo) { data, error in
             if error == nil {
-                kSavePhotoSuccesswShared.show(atView: self.view)
+                kSavePhotoSuccesswShared.show(atView: self.view,showViewBtn: false)
             }
         }
     }

+ 3 - 2
AIRingtone/Business/TSThemeVC/TSThemeTutorialsVC/TSThemeTutorialsVC.swift

@@ -13,7 +13,7 @@ class TSThemeTutorialsVC: TSBaseVC {
     var headerInSectionHeight: Int = 44
 
     let titles:[String] = ["Ringtone".localized,"Poster".localized,"Photo".localized]
-    let tutorialsImageNamed:[String] = ["tutorials_ringtone","tutorials_ringtone","tutorials_ringtone"]
+    let tutorialsImageNamed:[String] = ["tutorials_ringtone","tutorials_poster","tutorials_photo"]
 
     lazy var pagingView: JXPagingView = {
         //lazy var pagingView: JXPagingView = JXPagingListRefreshView(delegate: self) //整个刷新
@@ -137,8 +137,9 @@ class TSThemeTutorialsSetVC: TSTutorialsVC,JXPagingViewListViewDelegate {
     override func createView() {
         super.createView()
         setNavBarViewHidden(true)
-        
+        normalNavBarView.isHidden = true
         edgesForExtendedLayout = []
+        self.view.backgroundColor = .clear
     }
     
     func listScrollView() -> UIScrollView {

+ 1 - 1
AIRingtone/Business/TSTutorialsVC/TSTutorialsVC.swift

@@ -28,7 +28,7 @@ class TSTutorialsVC: TSBaseVC {
         scrollView.backgroundColor = .clear
         scrollView.frame = self.contentView.bounds
         scrollView.contentSize = imageView.size
-        scrollView.contentInset = UIEdgeInsets(top:0, left: 0, bottom: 0, right: 20)
+        scrollView.contentInset = UIEdgeInsets(top:0, left: 0, bottom: 40, right: 0)
         return scrollView
     }()
     

BIN
AIRingtone/Common/Tool/TSBandRingTool/tutorial-ring.mp4


+ 10 - 6
AIRingtone/Common/Tool/TSBusinessAudioPlayer.swift

@@ -40,25 +40,27 @@ class TSBusinessAudioPlayer {
         return false
     }
     
-    var isStop:Bool = false
-    
+    private var isStop:Bool = false
+    private var loadingLogic:(show: () -> Void, hide: () -> Void)?
     init(stateChangeBlock:@escaping (PlayerState) -> Void) {
         self.stateChangeBlock = stateChangeBlock
     }
     
     func playRingtone(ringtone:String?) {
         if let ringtone = ringtone {
-            let loadingLogic = kCreateLoadingLogic {
+            loadingLogic = kCreateLoadingLogic { [weak self]  in
+                guard let self = self else { return }
                 self.stateChangeBlock(.loading(0.0))
-            } hideBlock: {
+            } hideBlock: {[weak self]  in
+                guard let self = self else { return }
                 self.stateChangeBlock(.loading(1.0))
             }
 
-            loadingLogic.show()
+            loadingLogic?.show()
             isStop = false
             TSCommonTool.downloadAndCacheFile(from: ringtone) { [weak self] path, error in
                 guard let self = self else { return }
-                loadingLogic.hide()
+                loadingLogic?.hide()
                 
                 if isStop == true{
                     self.stop()
@@ -91,11 +93,13 @@ class TSBusinessAudioPlayer {
     
     func stop() {
         isStop = true
+        loadingLogic?.hide()
         self.audioPlayer?.stop()
         stateChangeBlock(.stop)
     }
     
     func pause() {
+        loadingLogic?.hide()
         self.audioPlayer?.pause()
         stateChangeBlock(.pause)
     }