|
@@ -38,6 +38,9 @@ class CommunityViewController: BaseViewController {
|
|
|
}
|
|
|
}
|
|
|
weak var observe : NSObjectProtocol?
|
|
|
+
|
|
|
+ var communityRecommendCategorysModel: CommunityRecommendCategorysModel?
|
|
|
+
|
|
|
override func viewWillAppear(_ animated: Bool) {
|
|
|
super.viewWillAppear(animated)
|
|
|
self.view.frame = CGRect(x: 0, y: 0, width: kScreenWidth, height: kScreenHeight-kTabBarTotalHeight)
|
|
@@ -100,6 +103,9 @@ class CommunityViewController: BaseViewController {
|
|
|
}
|
|
|
|
|
|
override func setupData() {
|
|
|
+
|
|
|
+ communityPostCategoryApi()
|
|
|
+
|
|
|
//搜索
|
|
|
communityNavigationBarView.searchClosure = {
|
|
|
[weak self] in
|
|
@@ -338,7 +344,6 @@ class CommunityViewController: BaseViewController {
|
|
|
self.listContainerView.defaultSelectedIndex = 1
|
|
|
self.segmentedDataSource.reloadData(selectedIndex: 1)
|
|
|
self.listContainerView.reloadData()
|
|
|
-
|
|
|
}
|
|
|
//选中星球
|
|
|
func reloadSegmentedStarView() {
|
|
@@ -368,26 +373,25 @@ class CommunityViewController: BaseViewController {
|
|
|
private lazy var segmentedView: JXSegmentedView = {
|
|
|
let segmentedView = JXSegmentedView()
|
|
|
segmentedView.delegate = self
|
|
|
- segmentedView.dataSource = segmentedDataSource
|
|
|
segmentedView.indicators = [indicator]
|
|
|
segmentedView.contentScrollView = listContainerView.scrollView
|
|
|
segmentedView.defaultSelectedIndex = 1
|
|
|
- segmentedView.contentEdgeInsetLeft = 100 * kScaleWidth
|
|
|
- segmentedView.contentEdgeInsetRight = 100 * kScaleWidth
|
|
|
+ segmentedView.contentEdgeInsetLeft = 14
|
|
|
+ segmentedView.contentEdgeInsetRight = 14
|
|
|
return segmentedView
|
|
|
}()
|
|
|
|
|
|
//2.初始化dataSource
|
|
|
private lazy var segmentedDataSource: JXSegmentedTitleDataSource = {
|
|
|
let segmentedDataSource = JXSegmentedTitleDataSource()
|
|
|
- segmentedDataSource.titles = ["关注","广场","后院"]
|
|
|
segmentedDataSource.isTitleColorGradientEnabled = true
|
|
|
- segmentedDataSource.isItemSpacingAverageEnabled = true
|
|
|
+ segmentedDataSource.isItemSpacingAverageEnabled = false
|
|
|
segmentedDataSource.isTitleZoomEnabled = true
|
|
|
segmentedDataSource.titleNormalColor = kbbbbbbColor
|
|
|
segmentedDataSource.titleSelectedColor = k333333Color
|
|
|
- segmentedDataSource.titleNormalFont = kBoldFont16
|
|
|
- segmentedDataSource.titleSelectedFont = kBoldFont20
|
|
|
+ segmentedDataSource.titleNormalFont = kRegularFont15!
|
|
|
+ segmentedDataSource.titleSelectedFont = kRegularFont15
|
|
|
+ segmentedDataSource.titleSelectedZoomScale = 1.13
|
|
|
segmentedDataSource.isTitleStrokeWidthEnabled = true
|
|
|
|
|
|
//reloadData(selectedIndex:)方法一定要调用,方法内部会刷新数据源数组
|
|
@@ -395,12 +399,25 @@ class CommunityViewController: BaseViewController {
|
|
|
|
|
|
return segmentedDataSource
|
|
|
}()
|
|
|
+
|
|
|
+ /// 刷新数据
|
|
|
+ func reloadDataDefault() {
|
|
|
+ self.setupViews()
|
|
|
+ self.setupLayouts()
|
|
|
+ segmentedDataSource.titles = ["关注","推荐"]
|
|
|
+ segmentedView.dataSource = segmentedDataSource
|
|
|
+ listContainerView.defaultSelectedIndex = 0
|
|
|
+ segmentedView.defaultSelectedIndex = 0
|
|
|
+ segmentedDataSource.reloadData(selectedIndex: 0)
|
|
|
+ listContainerView.reloadData()
|
|
|
+ }
|
|
|
+
|
|
|
//3.初始化指示器indicator
|
|
|
private lazy var indicator: JXSegmentedIndicatorLineView = {
|
|
|
let indicator = JXSegmentedIndicatorLineView()
|
|
|
- indicator.indicatorColor = k333333Color
|
|
|
- indicator.indicatorHeight = 4
|
|
|
- indicator.indicatorWidth = 20
|
|
|
+ indicator.indicatorColor = kThemeColor
|
|
|
+ indicator.indicatorHeight = 3
|
|
|
+ indicator.indicatorWidth = 14
|
|
|
return indicator
|
|
|
}()
|
|
|
|
|
@@ -420,37 +437,57 @@ class CommunityViewController: BaseViewController {
|
|
|
|
|
|
var index : Int?
|
|
|
|
|
|
+ /// 推荐分类
|
|
|
+ func communityPostCategoryApi() {
|
|
|
+ SwiftMoyaNetWorkServiceCommunity.shared().communityPostCategoryApi(completion: { [weak self] (communityRecommendCategorysModel) -> (Void) in
|
|
|
+ self?.communityRecommendCategorysModel = communityRecommendCategorysModel as? CommunityRecommendCategorysModel
|
|
|
+ self?.communityRecommendCategorysModel?.categoryListName?.insert("关注", at: 0)
|
|
|
+ self?.segmentedDataSource.titles = self?.communityRecommendCategorysModel?.categoryListName ?? ["关注","推荐"]
|
|
|
+ self?.segmentedView.dataSource = self?.segmentedDataSource
|
|
|
+
|
|
|
+ self?.listContainerView.defaultSelectedIndex = 1
|
|
|
+ self?.segmentedView.defaultSelectedIndex = 1
|
|
|
+ self?.segmentedDataSource.reloadData(selectedIndex: 1)
|
|
|
+ self?.listContainerView.reloadData()
|
|
|
+ self?.segmentedView.reloadData()
|
|
|
+
|
|
|
+// self?.reloadSegmentedView()
|
|
|
+ }) { [weak self] (loadingStatus) in
|
|
|
+ self?.reloadDataDefault()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
extension CommunityViewController : JXSegmentedViewDelegate {
|
|
|
//点击选中或者滚动选中都会调用该方法。适用于只关心选中事件,而不关心具体是点击还是滚动选中的情况。
|
|
|
func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) {
|
|
|
- if index == 0 {
|
|
|
- communityModuleTopType = .communityModuleFollowTop
|
|
|
- }
|
|
|
- if index == 1 {
|
|
|
- communityModuleTopType = .communityModuleRecommendTop
|
|
|
- }
|
|
|
- if index == 2 {
|
|
|
- communityModuleTopType = .communityModulePlanetTop
|
|
|
- if (communityNavigationBarIsHidden) {
|
|
|
- self.communityNavigationBarView.snp.updateConstraints { (make) in
|
|
|
- make.top.equalTo(kSafeStatusBarHeight)
|
|
|
- }
|
|
|
- self.segmentedView.snp.updateConstraints { (make) in
|
|
|
- make.top.equalTo(kNavBarTotalHeight)
|
|
|
- }
|
|
|
- communityNavigationBarIsHidden = false
|
|
|
- UIView.animate(withDuration: 0.15, animations: { [weak self] in
|
|
|
- self?.view.layoutIfNeeded()
|
|
|
- self?.listContainerView.layoutSubviews()
|
|
|
- }) { (complete) in}
|
|
|
- }
|
|
|
- }
|
|
|
- communityIndex = index
|
|
|
+// if index == 0 {
|
|
|
+// communityModuleTopType = .communityModuleFollowTop
|
|
|
+// }
|
|
|
+// if index == 1 {
|
|
|
+// communityModuleTopType = .communityModuleRecommendTop
|
|
|
+// }
|
|
|
+// if index == 2 {
|
|
|
+// communityModuleTopType = .communityModulePlanetTop
|
|
|
+// if (communityNavigationBarIsHidden) {
|
|
|
+// self.communityNavigationBarView.snp.updateConstraints { (make) in
|
|
|
+// make.top.equalTo(kSafeStatusBarHeight)
|
|
|
+// }
|
|
|
+// self.segmentedView.snp.updateConstraints { (make) in
|
|
|
+// make.top.equalTo(kNavBarTotalHeight)
|
|
|
+// }
|
|
|
+// communityNavigationBarIsHidden = false
|
|
|
+// UIView.animate(withDuration: 0.15, animations: { [weak self] in
|
|
|
+// self?.view.layoutIfNeeded()
|
|
|
+// self?.listContainerView.layoutSubviews()
|
|
|
+// }) { (complete) in}
|
|
|
+// }
|
|
|
+// }
|
|
|
+// communityIndex = index
|
|
|
listContainerView.didClickSelectedItem(at: index)
|
|
|
|
|
|
- self.index = index
|
|
|
+// self.index = index
|
|
|
|
|
|
}
|
|
|
|
|
@@ -488,17 +525,13 @@ extension CommunityViewController :JXSegmentedListContainerViewDataSource {
|
|
|
func listContainerView(_ listContainerView: JXSegmentedListContainerView, initListAt index: Int) -> JXSegmentedListContainerViewListDelegate {
|
|
|
if index == 0 {
|
|
|
let vc = CommunityFollowViewController()
|
|
|
- communityModuleTopType = .communityModuleFollowTop
|
|
|
+// communityModuleTopType = .communityModuleFollowTop
|
|
|
|
|
|
- return vc
|
|
|
- }else if index == 1 {
|
|
|
-// let vc = CommunityRecommnendViewController()
|
|
|
- let vc = CommunityRecommnendSuperViewController()
|
|
|
- communityModuleTopType = .communityModuleRecommendTop
|
|
|
return vc
|
|
|
}else {
|
|
|
- let vc = CommunityPlanetViewController()
|
|
|
- communityModuleTopType = .communityModulePlanetTop
|
|
|
+ let vc = CommunityRecommnendViewController()
|
|
|
+ vc.communityRecommendCategoryModel = communityRecommendCategorysModel?.categoryList?[index-1]
|
|
|
+// communityModuleTopType = .communityModuleRecommendTop
|
|
|
return vc
|
|
|
}
|
|
|
}
|