南鑫林 преди 5 години
родител
ревизия
53615d0539
променени са 1 файла, в които са добавени 36 реда и са изтрити 15 реда
  1. 36 15
      RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishViewController.swift

+ 36 - 15
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishViewController.swift

@@ -19,21 +19,23 @@ class PublishViewController: BaseViewController {
     }
     
     override func setupViews() {        
-        view.addSubview(segmentedView)
         view.addSubview(listContainerView)
+        view.addSubview(segmentedView)
+
     }
     
     override func setupLayouts() {
+        
+        listContainerView.snp.makeConstraints { (make) in
+            make.top.left.right.equalToSuperview()
+            make.bottom.equalToSuperview()
+        }
         segmentedView.snp.makeConstraints { (make) in
-            make.right.equalTo(-48)
             make.height.equalTo(48)
-            make.left.equalTo(48)
+            make.left.equalTo(0)
+            make.right.equalTo(0)
             make.bottom.equalTo(-kSafeTabBarHeight)
         }
-        listContainerView.snp.makeConstraints { (make) in
-            make.top.left.right.equalToSuperview()
-            make.bottom.equalTo(segmentedView.snp_top)
-        }
     }
     
     override func setupData() {
@@ -49,15 +51,12 @@ class PublishViewController: BaseViewController {
         segmentedView.contentScrollView = listContainerView.scrollView
         segmentedView.selectItemAt(index: 0)
         segmentedView.defaultSelectedIndex = 0
-        segmentedView.contentEdgeInsetLeft = 4
-        segmentedView.contentEdgeInsetRight = 4
         return segmentedView
     }()
     
     //2.初始化dataSource
     private lazy var segmentedDataSource: JXSegmentedTitleDataSource = {
         let segmentedDataSource = JXSegmentedTitleDataSource()
-        segmentedDataSource.titles = ["相册","拍视频","拍照"]
         segmentedDataSource.isTitleColorGradientEnabled = true
         segmentedDataSource.isItemSpacingAverageEnabled = true
         segmentedDataSource.isTitleZoomEnabled = true
@@ -65,7 +64,7 @@ class PublishViewController: BaseViewController {
         segmentedDataSource.titleSelectedColor = k333333Color
         segmentedDataSource.titleNormalFont = kRegularFont14!
         segmentedDataSource.titleSelectedFont = kBoldFont22
-        
+        segmentedDataSource.titles = ["相册","拍视频","拍照"]
         //reloadData(selectedIndex:)方法一定要调用,方法内部会刷新数据源数组
         segmentedDataSource.reloadData(selectedIndex: 0)
         
@@ -73,9 +72,9 @@ class PublishViewController: BaseViewController {
     }()
     
     //3.初始化指示器indicator
-    private lazy var indicator: JXSegmentedIndicatorLineView = {
-        let indicator = JXSegmentedIndicatorLineView()
-        indicator.indicatorColor = k62CC74Color
+    private lazy var indicator: JXSegmentedIndicatorRainbowLineView = {
+        let indicator = JXSegmentedIndicatorRainbowLineView()
+        indicator.indicatorColors = [k62CC74Color,.white,.white]
         indicator.indicatorHeight = 3
         indicator.indicatorWidth = 20
         return indicator
@@ -104,6 +103,8 @@ extension PublishViewController : JXSegmentedViewDelegate {
         default:
             break
         }
+
+        
     }
     
     // 点击选中的情况才会调用该方法
@@ -114,7 +115,27 @@ extension PublishViewController : JXSegmentedViewDelegate {
     
     // 滚动选中的情况才会调用该方法
     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
+        }
+
     }
     
     // 正在滚动中的回调