瀏覽代碼

【功能】添加动态主题

xcbosa mbp16 1 年之前
父節點
當前提交
4bbd127844

+ 1 - 1
XCTheme/Classes/Impl/XCThemeManager.swift

@@ -65,7 +65,7 @@ public class XCThemeManager: NSObject {
         }
         
         // TODO: Mocked
-        self.selectedTheme = self.theme(forId: "autumn_mountain")
+        self.selectedTheme = self.theme(forId: "bubbles_motion")
         
         let originalMethod = class_getInstanceMethod(UIViewController.classForCoder(), #selector(UIViewController.viewDidLoad))!
         let newMethod = class_getInstanceMethod(UIViewController.classForCoder(), #selector(UIViewController.XCThemeManagerSwizzledViewDidLoad))!

+ 8 - 1
XCTheme/Classes/Impl/XCThemeSpec.swift

@@ -98,12 +98,19 @@ extension XCThemeSpec {
     }
     
     public var entranceHTMLFile: String? {
-        guard let htmlFile = self.originalDict["html"] as? String else {
+        guard let htmlFile = self.originalDict["dynamicProvider"] as? String else {
             return nil
         }
         return htmlFile
     }
     
+    public var entranceHTMLColor: UIColor? {
+        guard let color = self.originalDict["dynamicProviderBackgroundColor"] as? String else {
+            return nil
+        }
+        return UIColor(hexString: color)
+    }
+    
 }
 
 fileprivate extension UIColor {

+ 1 - 0
XCTheme/Classes/Module/XCThemeSpecModel.h

@@ -20,6 +20,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, assign, readonly) CGFloat maskAlpha;
 @property (nonatomic, copy, readonly, nullable) NSString *blurStyle;
 @property (nonatomic, copy, readonly, nullable) NSString *entranceHTMLFile;
+@property (nonatomic, strong, readonly, nullable) UIColor *entranceHTMLColor;
 
 - (nullable instancetype)initWithWrappedObject:(id)object;
 

+ 4 - 0
XCTheme/Classes/Module/XCThemeSpecModel.m

@@ -54,6 +54,10 @@
     return self.wrappedObject.entranceHTMLFile;
 }
 
+- (UIColor *)entranceHTMLColor {
+    return self.wrappedObject.entranceHTMLColor;
+}
+
 - (NSString *)containerPath {
     return self.wrappedObject.themeRootPath;
 }