JYPageController
iOS左右滚动切换页面PageController组件封装
Install / Use
/learn @wangtao311/JYPageControllerREADME
JYPageController
Example
To run the example project, clone the repo, and run pod install from the Example directory first.
Requirements
Installation
JYPageController is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'JYPageController' , '~> 0.3.9’
功能
1.继承JYPageController 在init方法中配置config属性
2.支持设置字体大小颜色
3.支持设置标题间间距
4.支持设置默认的selectedIndex
5.支持设置/清空每个标题的badgeView,以及badgeview和标题item的间距
6.支持设置下划线颜色,宽高,圆角,是否显示下划线指示器
7.在滚动过程中,每个标题item放大缩小过程中,item间距保持不变
8.支持标题tab显示在导航栏
9.保证childViewController生命周期
10.标题下指示器支持多样式,支持自定义View
11.segmentedView的item支持自定义View
12.segmentedView样式目前主流APP以下划线或者或者自定义image为主。暂时不打算支持其他非主流的样式
13.支持头部headerView,segmentedView悬停
预览 Preview
1.SegmentedView显示在导航栏

2.SegmentedView下划线指示器粘性动画

3.SegmentedView指示器为自定义view

4.SegmentedView的item自定义view

5.有headerView时候segmentedView悬浮

Use
1.继承JYPageController
2.在init方法中配置menuview颜色字体大小等
3.更多属性设置看JYConfig中属性的注解
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
super.init(nibName: nil, bundle: nil)
config.normalTitleColor = .systemGray
config.normalTitleFontWeight = .regular
config.normalTitleFont = 16
config.selectedTitleColor = .red
config.selectedTitleFontWeight = .regular
config.selectedTitleFont = 21
config.indicatorLineViewSize = CGSize(width: 14, height: 3)
config.indicatorLineViewCornerRadius = 2
config.menuItemMargin = 25
selectedIndex = 2
...
}
3.实现数据源协议方法
override func pageController(_ pageView: JYPageController, frameForSegmentedView segmentedView: JYSegmentedView) -> CGRect {
return menuview frame
}
override func pageController(_ pageView: JYPageController, frameForContainerView container: UIScrollView) -> CGRect {
return childViewcontroller view frame
}
override func pageController(_ pageView: JYPageController, titleAt index: Int) -> String {
return title
}
override func numberOfChildControllers() -> Int {
return title count
}
override func childController(atIndex index: Int) -> UIViewController {
return child controller
}
Author
wangtao, henandaxuewangtao@126.com QQ 603637393
License
JYPageController is available under the MIT license. See the LICENSE file for more info.
