|
@@ -15,31 +15,63 @@ class CommunityViewController: BaseViewController {
|
|
|
super.viewDidLoad()
|
|
|
setupViews()
|
|
|
setupLayouts()
|
|
|
+ setupData()
|
|
|
}
|
|
|
|
|
|
override func setupViews() {
|
|
|
+ navigationBar.isHidden = true
|
|
|
view.addSubview(segmentedView)
|
|
|
view.addSubview(listContainerView)
|
|
|
+ view.addSubview(communityNavigationBarView)
|
|
|
+
|
|
|
}
|
|
|
|
|
|
override func setupLayouts() {
|
|
|
|
|
|
+ communityNavigationBarView.snp.makeConstraints { (make) in
|
|
|
+ make.top.equalTo(kSafeStatusBarHeight)
|
|
|
+ make.left.right.equalToSuperview()
|
|
|
+ make.height.equalTo(kNavBarHeight)
|
|
|
+ }
|
|
|
+
|
|
|
segmentedView.snp.makeConstraints { (make) in
|
|
|
- make.left.equalToSuperview().offset(100 * kScaleWidth)
|
|
|
- make.right.equalToSuperview().offset(-100 * kScaleWidth)
|
|
|
- make.height.equalTo(48 * kScaleWidth)
|
|
|
+ make.left.equalToSuperview().offset(100)
|
|
|
+ make.right.equalToSuperview().offset(-100)
|
|
|
+ make.height.equalTo(48)
|
|
|
make.top.equalTo(kNavBarTotalHeight)
|
|
|
-
|
|
|
}
|
|
|
+
|
|
|
listContainerView.snp.makeConstraints { (make) in
|
|
|
make.top.equalTo(segmentedView.snp.bottom)
|
|
|
make.left.right.bottom.equalToSuperview()
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ override func setupData() {
|
|
|
+ //发布
|
|
|
+ communityNavigationBarView.leftButton.rx.tap.subscribe(onNext: { (data) in
|
|
|
+
|
|
|
+ }).disposed(by: disposeBag)
|
|
|
+ //搜索
|
|
|
+ communityNavigationBarView.searchClosure = {
|
|
|
+
|
|
|
+ }
|
|
|
+ //彩虹豆
|
|
|
+ communityNavigationBarView.rightButton.rx.tap.subscribe(onNext: { (data) in
|
|
|
+
|
|
|
+ }).disposed(by: disposeBag)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /// navigationBar
|
|
|
+ private lazy var communityNavigationBarView: CommunityNavigationBarView = {
|
|
|
+ let communityNavigationBarView = CommunityNavigationBarView()
|
|
|
+ return communityNavigationBarView
|
|
|
+ }()
|
|
|
|
|
|
|
|
|
//1.初始化JXSegmentedViewx
|
|
|
- lazy var segmentedView: JXSegmentedView = {
|
|
|
+ private lazy var segmentedView: JXSegmentedView = {
|
|
|
let segmentedView = JXSegmentedView()
|
|
|
segmentedView.delegate = self
|
|
|
segmentedView.dataSource = segmentedDataSource
|
|
@@ -47,13 +79,13 @@ class CommunityViewController: BaseViewController {
|
|
|
segmentedView.contentScrollView = listContainerView.scrollView
|
|
|
segmentedView.selectItemAt(index: 0)
|
|
|
segmentedView.defaultSelectedIndex = 0
|
|
|
- segmentedView.contentEdgeInsetLeft = 4 * kScaleWidth
|
|
|
- segmentedView.contentEdgeInsetRight = 4 * kScaleWidth
|
|
|
+ segmentedView.contentEdgeInsetLeft = 4
|
|
|
+ segmentedView.contentEdgeInsetRight = 4
|
|
|
return segmentedView
|
|
|
}()
|
|
|
|
|
|
//2.初始化dataSource
|
|
|
- lazy var segmentedDataSource: JXSegmentedTitleDataSource = {
|
|
|
+ private lazy var segmentedDataSource: JXSegmentedTitleDataSource = {
|
|
|
let segmentedDataSource = JXSegmentedTitleDataSource()
|
|
|
segmentedDataSource.titles = ["关注","推荐","星球"]
|
|
|
segmentedDataSource.isTitleColorGradientEnabled = true
|
|
@@ -61,8 +93,8 @@ class CommunityViewController: BaseViewController {
|
|
|
segmentedDataSource.isTitleZoomEnabled = true
|
|
|
segmentedDataSource.titleNormalColor = kbbbbbbColor
|
|
|
segmentedDataSource.titleSelectedColor = k333333Color
|
|
|
- segmentedDataSource.titleNormalFont = kScaleRegularFont14!
|
|
|
- segmentedDataSource.titleSelectedFont = kScaleBoldFont22
|
|
|
+ segmentedDataSource.titleNormalFont = kRegularFont14!
|
|
|
+ segmentedDataSource.titleSelectedFont = kBoldFont22
|
|
|
|
|
|
//reloadData(selectedIndex:)方法一定要调用,方法内部会刷新数据源数组
|
|
|
segmentedDataSource.reloadData(selectedIndex: 0)
|
|
@@ -70,16 +102,16 @@ class CommunityViewController: BaseViewController {
|
|
|
return segmentedDataSource
|
|
|
}()
|
|
|
//3.初始化指示器indicator
|
|
|
- lazy var indicator: JXSegmentedIndicatorLineView = {
|
|
|
+ private lazy var indicator: JXSegmentedIndicatorLineView = {
|
|
|
let indicator = JXSegmentedIndicatorLineView()
|
|
|
indicator.indicatorColor = k333333Color
|
|
|
- indicator.indicatorHeight = 4 * kScaleWidth
|
|
|
- indicator.indicatorWidth = 20 * kScaleWidth
|
|
|
+ indicator.indicatorHeight = 4
|
|
|
+ indicator.indicatorWidth = 20
|
|
|
return indicator
|
|
|
}()
|
|
|
|
|
|
//4.初始化JXSegmentedListContainerView
|
|
|
- lazy var listContainerView: JXSegmentedListContainerView = {
|
|
|
+ private lazy var listContainerView: JXSegmentedListContainerView = {
|
|
|
let listContainerView = JXSegmentedListContainerView(dataSource: self)
|
|
|
listContainerView.didAppearPercent = 0.01
|
|
|
listContainerView.defaultSelectedIndex = 0
|