|
@@ -9,6 +9,7 @@
|
|
|
import UIKit
|
|
|
import RxSwift
|
|
|
import RxCocoa
|
|
|
+import JXSegmentedView
|
|
|
|
|
|
enum BtnActionType {
|
|
|
case back // 返回
|
|
@@ -32,6 +33,7 @@ class PublishVideoView: BaseView {
|
|
|
|
|
|
addSubview(backButton)
|
|
|
addSubview(recordButton)
|
|
|
+ addSubview(segmentedView)
|
|
|
|
|
|
addSubview(controlBackView)
|
|
|
controlBackView.addSubview(reverseButton)
|
|
@@ -62,6 +64,13 @@ class PublishVideoView: BaseView {
|
|
|
make.height.equalTo(100)
|
|
|
}
|
|
|
|
|
|
+ segmentedView.snp.makeConstraints { (make) in
|
|
|
+ make.height.equalTo(40)
|
|
|
+ make.left.equalTo(14)
|
|
|
+ make.right.equalTo(-14)
|
|
|
+ make.bottom.equalTo(recordButton.snp_top).offset(-21)
|
|
|
+ }
|
|
|
+
|
|
|
/***** 翻转、音乐、滤镜 *****/
|
|
|
controlBackView.snp.makeConstraints { (make) in
|
|
|
make.top.equalTo(64)
|
|
@@ -115,9 +124,47 @@ class PublishVideoView: BaseView {
|
|
|
previewView.snp.makeConstraints { (make) in
|
|
|
make.edges.equalToSuperview()
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
+ // MARK: - 创建视图控件
|
|
|
+ //1.初始化JXSegmentedViewx
|
|
|
+ lazy var segmentedView: JXSegmentedView = {
|
|
|
+ let segmentedView = JXSegmentedView()
|
|
|
+ segmentedView.delegate = self
|
|
|
+ segmentedView.dataSource = segmentedDataSource
|
|
|
+ segmentedView.selectItemAt(index: 2)
|
|
|
+ segmentedView.defaultSelectedIndex = 2
|
|
|
+ segmentedView.backgroundColor = kRGBAColor(r: 0, g: 0, b: 0, a: 0.2)
|
|
|
+ segmentedView.cornerRadius = 20
|
|
|
+ segmentedView.masksToBounds = true
|
|
|
+ return segmentedView
|
|
|
+ }()
|
|
|
+
|
|
|
+ //2.初始化dataSource
|
|
|
+ private lazy var segmentedDataSource: JXSegmentedTitleDataSource = {
|
|
|
+ let segmentedDataSource = JXSegmentedTitleDataSource()
|
|
|
+ segmentedDataSource.isTitleColorGradientEnabled = true
|
|
|
+ segmentedDataSource.isItemSpacingAverageEnabled = true
|
|
|
+ segmentedDataSource.isTitleZoomEnabled = true
|
|
|
+ segmentedDataSource.titleNormalColor = kffffffColor
|
|
|
+ segmentedDataSource.titleSelectedColor = k333333Color
|
|
|
+ segmentedDataSource.titleNormalFont = kRegularFont14!
|
|
|
+ segmentedDataSource.titleSelectedFont = kBoldFont22
|
|
|
+ segmentedDataSource.titles = ["极慢","慢","标准","快","极快"]
|
|
|
+ //reloadData(selectedIndex:)方法一定要调用,方法内部会刷新数据源数组
|
|
|
+ segmentedDataSource.reloadData(selectedIndex: 2)
|
|
|
+
|
|
|
+ return segmentedDataSource
|
|
|
+ }()
|
|
|
+
|
|
|
+ //3.初始化指示器indicator
|
|
|
+ private lazy var indicator: JXSegmentedIndicatorBackgroundView = {
|
|
|
+ let indicator = JXSegmentedIndicatorBackgroundView()
|
|
|
+// indicator.indicatorColors = [k62CC74Color,.white,.white]
|
|
|
+ indicator.indicatorHeight = 40
|
|
|
+ return indicator
|
|
|
+ }()
|
|
|
+
|
|
|
lazy var backButton: UIButton = {
|
|
|
let backButton = UIButton(type: UIButton.ButtonType.custom)
|
|
|
backButton.setImage(kImage(name: "video_btn_close_white"), for: UIControl.State.normal)
|
|
@@ -129,7 +176,7 @@ class PublishVideoView: BaseView {
|
|
|
return backButton
|
|
|
}()
|
|
|
|
|
|
- // 放置"翻转、音乐、滤镜"のView
|
|
|
+ // MARK:放置"翻转、音乐、滤镜"のView
|
|
|
lazy var controlBackView: UIView = {
|
|
|
let controlBackView = UIView()
|
|
|
return controlBackView
|
|
@@ -177,7 +224,7 @@ class PublishVideoView: BaseView {
|
|
|
return filterButton
|
|
|
}()
|
|
|
|
|
|
- // 放置"回删、确定"のView
|
|
|
+ // MARK:放置"回删、确定"のView
|
|
|
lazy var selBackView: UIView = {
|
|
|
let selBackView = UIView()
|
|
|
return selBackView
|
|
@@ -211,7 +258,7 @@ class PublishVideoView: BaseView {
|
|
|
return confirmButton
|
|
|
}()
|
|
|
|
|
|
- // 录制のButton
|
|
|
+ // MARK:录制のButton
|
|
|
private lazy var recordButton: UIButton = {
|
|
|
let recordButton = UIButton(type: UIButton.ButtonType.custom)
|
|
|
recordButton.setImage(kImage(name: "video_btn_shoot"), for: UIControl.State.normal)
|
|
@@ -228,10 +275,24 @@ class PublishVideoView: BaseView {
|
|
|
}()
|
|
|
|
|
|
|
|
|
- // 预览View
|
|
|
+ // MARK:预览View
|
|
|
lazy var previewView: UIView = {
|
|
|
let previewView = UIView()
|
|
|
return previewView
|
|
|
}()
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+extension PublishVideoView : JXSegmentedViewDelegate {
|
|
|
+
|
|
|
+ // 点击选中的情况才会调用该方法
|
|
|
+ func segmentedView(_ segmentedView: JXSegmentedView, didClickSelectedItemAt index: Int) {
|
|
|
+ print("----选中\(index)")
|
|
|
+ }
|
|
|
+
|
|
|
+ /// 是否允许点击选中目标index的item
|
|
|
+ func segmentedView(_ segmentedView: JXSegmentedView, canClickItemAt index: Int) -> Bool {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+}
|
|
|
+
|