|
@@ -1,118 +0,0 @@
|
|
|
-//
|
|
|
-// PagingViewController.swift
|
|
|
-// JXPagingView
|
|
|
-//
|
|
|
-// Created by jiaxin on 2018/8/10.
|
|
|
-// Copyright © 2018年 jiaxin. All rights reserved.
|
|
|
-//
|
|
|
-
|
|
|
-import UIKit
|
|
|
-import JXSegmentedView
|
|
|
-
|
|
|
-class PagingViewController: UIViewController {
|
|
|
- var pagingView: JXPagingView!
|
|
|
- var userHeaderView: PagingViewTableHeaderView!
|
|
|
- var userHeaderContainerView: UIView!
|
|
|
- var segmentedViewDataSource: JXSegmentedTitleDataSource!
|
|
|
- var segmentedView: JXSegmentedView!
|
|
|
- var titles = ["能力", "爱好", "队友"]
|
|
|
- var JXTableHeaderViewHeight: Int = 0
|
|
|
- var JXheightForHeaderInSection: Int = 50
|
|
|
-
|
|
|
- override func viewDidLoad() {
|
|
|
- super.viewDidLoad()
|
|
|
-
|
|
|
- self.title = "个人中心"
|
|
|
- self.navigationController?.navigationBar.isTranslucent = false
|
|
|
-
|
|
|
- userHeaderContainerView = UIView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: CGFloat(JXTableHeaderViewHeight)))
|
|
|
- userHeaderView = PagingViewTableHeaderView(frame: userHeaderContainerView.bounds)
|
|
|
- userHeaderContainerView.addSubview(userHeaderView)
|
|
|
-
|
|
|
- //segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
|
|
|
- segmentedViewDataSource = JXSegmentedTitleDataSource()
|
|
|
- segmentedViewDataSource.titles = titles
|
|
|
- segmentedViewDataSource.titleSelectedColor = UIColor(red: 105/255, green: 144/255, blue: 239/255, alpha: 1)
|
|
|
- segmentedViewDataSource.titleNormalColor = UIColor.black
|
|
|
- segmentedViewDataSource.isTitleColorGradientEnabled = true
|
|
|
- segmentedViewDataSource.isTitleZoomEnabled = true
|
|
|
- segmentedViewDataSource.reloadData(selectedIndex: 0)
|
|
|
-
|
|
|
- segmentedView = JXSegmentedView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: CGFloat(JXheightForHeaderInSection)))
|
|
|
- segmentedView.backgroundColor = UIColor.white
|
|
|
- segmentedView.dataSource = segmentedViewDataSource
|
|
|
- segmentedView.isContentScrollViewClickTransitionAnimationEnabled = false
|
|
|
-
|
|
|
- let lineView = JXSegmentedIndicatorLineView()
|
|
|
- lineView.indicatorColor = UIColor(red: 105/255, green: 144/255, blue: 239/255, alpha: 1)
|
|
|
- lineView.indicatorWidth = 30
|
|
|
- segmentedView.indicators = [lineView]
|
|
|
-
|
|
|
- let lineWidth = 1/UIScreen.main.scale
|
|
|
- let lineLayer = CALayer()
|
|
|
- lineLayer.backgroundColor = UIColor.lightGray.cgColor
|
|
|
- lineLayer.frame = CGRect(x: 0, y: segmentedView.bounds.height - lineWidth, width: segmentedView.bounds.width, height: lineWidth)
|
|
|
- segmentedView.layer.addSublayer(lineLayer)
|
|
|
-
|
|
|
- pagingView = JXPagingView(delegate: self)
|
|
|
- pagingView.mainTableView.addHeaderWithHeader(withBeginRefresh: true, animation: false) { (page) in
|
|
|
- self.segmentedViewDataSource.reloadData(selectedIndex: 1)
|
|
|
-
|
|
|
- self.segmentedView.defaultSelectedIndex = 1
|
|
|
- self.segmentedView.reloadData()
|
|
|
-
|
|
|
- self.pagingView.listContainerView.reloadData()
|
|
|
- self.pagingView.reloadData()
|
|
|
- }
|
|
|
-
|
|
|
- self.view.addSubview(pagingView)
|
|
|
- segmentedView.contentScrollView = pagingView.listContainerView.collectionView
|
|
|
- }
|
|
|
-
|
|
|
- override func viewDidLayoutSubviews() {
|
|
|
- super.viewDidLayoutSubviews()
|
|
|
-
|
|
|
- pagingView.frame = self.view.bounds
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-extension PagingViewController: JXPagingViewDelegate {
|
|
|
-
|
|
|
- func tableHeaderViewHeight(in pagingView: JXPagingView) -> Int {
|
|
|
- return JXTableHeaderViewHeight
|
|
|
- }
|
|
|
-
|
|
|
- func tableHeaderView(in pagingView: JXPagingView) -> UIView {
|
|
|
- return userHeaderContainerView
|
|
|
- }
|
|
|
-
|
|
|
- func heightForPinSectionHeader(in pagingView: JXPagingView) -> Int {
|
|
|
- return JXheightForHeaderInSection
|
|
|
- }
|
|
|
-
|
|
|
- func viewForPinSectionHeader(in pagingView: JXPagingView) -> UIView {
|
|
|
- return segmentedView
|
|
|
- }
|
|
|
-
|
|
|
- func numberOfLists(in pagingView: JXPagingView) -> Int {
|
|
|
- return titles.count
|
|
|
- }
|
|
|
-
|
|
|
- func pagingView(_ pagingView: JXPagingView, initListAtIndex index: Int) -> JXPagingViewListViewDelegate {
|
|
|
- let list = PagingListBaseView()
|
|
|
- if index == 0 {
|
|
|
- list.dataSource = ["橡胶火箭", "橡胶火箭炮", "橡胶机关枪", "橡胶子弹", "橡胶攻城炮", "橡胶象枪", "橡胶象枪乱打", "橡胶灰熊铳", "橡胶雷神象枪", "橡胶猿王枪", "橡胶犀·榴弹炮", "橡胶大蛇炮", "橡胶火箭", "橡胶火箭炮", "橡胶机关枪", "橡胶子弹", "橡胶攻城炮", "橡胶象枪", "橡胶象枪乱打", "橡胶灰熊铳", "橡胶雷神象枪", "橡胶猿王枪", "橡胶犀·榴弹炮", "橡胶大蛇炮"]
|
|
|
- }else if index == 1 {
|
|
|
- list.dataSource = ["吃烤肉", "吃鸡腿肉", "吃牛肉", "各种肉"]
|
|
|
- }else {
|
|
|
- list.dataSource = ["【剑士】罗罗诺亚·索隆", "【航海士】娜美", "【狙击手】乌索普", "【厨师】香吉士", "【船医】托尼托尼·乔巴", "【船匠】 弗兰奇", "【音乐家】布鲁克", "【考古学家】妮可·罗宾"]
|
|
|
- }
|
|
|
- list.beginFirstRefresh()
|
|
|
- return list
|
|
|
- }
|
|
|
-
|
|
|
-// func mainTableViewDidScroll(_ scrollView: UIScrollView) {
|
|
|
-// userHeaderView?.scrollViewDidScroll(contentOffsetY: scrollView.contentOffset.y)
|
|
|
-// }
|
|
|
-}
|
|
|
-
|