ソースを参照

部分UI调整

Chris 5 年 前
コミット
934a0d2101

+ 3 - 4
RainbowPlanet/RainbowPlanet/Modules/PublishModule/AliyunVideo/AlivcShortVideo/ShortVideoFile/VideoRecord/View/AliyunRateSelectView.m

@@ -36,7 +36,7 @@
     [self setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor],NSFontAttributeName:[UIFont systemFontOfSize:13]}
                         forState:UIControlStateNormal];
     
-    [self setBackgroundImage:[self imageWithBgColor:rgba(0,0,0,0.1)]
+    [self setBackgroundImage:[self imageWithBgColor:rgba(0,0,0,0)]
                     forState:UIControlStateNormal
                   barMetrics:UIBarMetricsDefault];
     [self setDividerImage:[self imageWithBgColor:rgba(23,31,33,0.8)] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
@@ -53,13 +53,12 @@
                   barMetrics:UIBarMetricsDefault];
     
     for (UIView *view in self.subviews) {
-        view.layer.cornerRadius = 2;
+        view.layer.cornerRadius = 20;
         view.layer.masksToBounds = YES;
     }
-    self.layer.cornerRadius = 2;
+    self.layer.cornerRadius = 20;
     self.layer.masksToBounds = YES;
     
-    
 }
 
 

+ 29 - 24
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishViewController.swift

@@ -82,7 +82,7 @@ class PublishViewController: BaseViewController {
     private lazy var segmentedView: JXSegmentedView = {
         let segmentedView = JXSegmentedView()
         segmentedView.delegate = self
-        segmentedView.dataSource = segmentedDataSource
+        segmentedView.dataSource = segmentedDataSourceAlbum
         segmentedView.indicators = [indicator]
         segmentedView.contentScrollView = listContainerView.scrollView
         segmentedView.selectItemAt(index: 0)
@@ -91,7 +91,7 @@ class PublishViewController: BaseViewController {
     }()
     
     //2.初始化dataSource
-    private lazy var segmentedDataSource: JXSegmentedTitleDataSource = {
+    private lazy var segmentedDataSourceAlbum: JXSegmentedTitleDataSource = {
         let segmentedDataSource = JXSegmentedTitleDataSource()
         segmentedDataSource.isTitleColorGradientEnabled = true
         segmentedDataSource.isItemSpacingAverageEnabled = true
@@ -106,6 +106,21 @@ class PublishViewController: BaseViewController {
         
         return segmentedDataSource
     }()
+    private lazy var segmentedDataSourceVideo: JXSegmentedTitleDataSource = {
+        let segmentedDataSource = JXSegmentedTitleDataSource()
+        segmentedDataSource.isTitleColorGradientEnabled = true
+        segmentedDataSource.isItemSpacingAverageEnabled = true
+        segmentedDataSource.isTitleZoomEnabled = true
+        segmentedDataSource.titleNormalColor = kffffffColor
+        segmentedDataSource.titleSelectedColor = kffffffColor
+        segmentedDataSource.titleNormalFont = kRegularFont14!
+        segmentedDataSource.titleSelectedFont = kBoldFont22
+        segmentedDataSource.titles = ["相册","拍视频","拍照"]
+        //reloadData(selectedIndex:)方法一定要调用,方法内部会刷新数据源数组
+        segmentedDataSource.reloadData(selectedIndex: 0)
+        
+        return segmentedDataSource
+    }()
     
     //3.初始化指示器indicator
     private lazy var indicator: JXSegmentedIndicatorRainbowLineView = {
@@ -113,6 +128,7 @@ class PublishViewController: BaseViewController {
         indicator.indicatorColors = [k62CC74Color,.white,.white]
         indicator.indicatorHeight = 3
         indicator.indicatorWidth = 20
+        indicator.verticalOffset = 8
         return indicator
     }()
     
@@ -134,10 +150,19 @@ extension PublishViewController : JXSegmentedViewDelegate {
         switch index {
         case 0:
             self.segmentedView.backgroundColor = .white
+            self.segmentedView.dataSource = segmentedDataSourceAlbum
+            self.segmentedView.reloadData()
+            statusBarStyle = .default
         case 1:
             self.segmentedView.backgroundColor = .clear
+            self.segmentedView.dataSource = segmentedDataSourceVideo
+            self.segmentedView.reloadData()
+            statusBarStyle = .lightContent
         case 2:
             self.segmentedView.backgroundColor = .clear
+            self.segmentedView.dataSource = segmentedDataSourceVideo
+            self.segmentedView.reloadData()
+            statusBarStyle = .lightContent
         default:
             break
         }
@@ -149,29 +174,9 @@ extension PublishViewController : JXSegmentedViewDelegate {
         listContainerView.didClickSelectedItem(at: index)
     }
     
-    // 滚动选中的情况才会调用该方法
+    // 滚动选中的情况才会调用该方法(未支持滚动选中)
     func segmentedView(_ segmentedView: JXSegmentedView, didScrollSelectedItemAt index: Int) {
-        switch index {
-        case 0:
-            let segmentedTitleItemModel = JXSegmentedTitleItemModel()
-
-            
-            segmentedDataSource.refreshItemModel(segmentedView, currentSelectedItemModel: segmentedDataSource.dataSource[index], willSelectedItemModel: segmentedTitleItemModel, selectedType: JXSegmentedViewItemSelectedType.scroll)
-
-        case 1:
-
-            let segmentedTitleItemModel = JXSegmentedTitleItemModel()
-            
-            segmentedDataSource.refreshItemModel(segmentedView, currentSelectedItemModel: segmentedDataSource.dataSource[index], willSelectedItemModel: segmentedTitleItemModel, selectedType: JXSegmentedViewItemSelectedType.scroll)
-        case 2:
-
-            let segmentedTitleItemModel = JXSegmentedTitleItemModel()
-            
-            segmentedDataSource.refreshItemModel(segmentedView, currentSelectedItemModel: segmentedDataSource.dataSource[index], willSelectedItemModel: segmentedTitleItemModel, selectedType: JXSegmentedViewItemSelectedType.scroll)
-        default:
-            break
-        }
-
+        print("\n------滚动选中\(index)")
     }
     
     // 正在滚动中的回调