JXPageControl 0.1.5

JXPageControl 0.1.5

bboyXFX维护。



  • 作者
  • Code-TanJX

JXPageControl

CI Status Version License Platform

(JXPageControl 支持 multiple动画转换,内容布局转换和 Xib 布局)

 

(如有任何问题,请留言,欢迎一起学习,欢迎 start)


安装

要安装,只需将以下代码添加到您的 Podfile

platform :ios, '8.0'

target 'TargetName' do
    pod 'JXPageControl'
end

UI 效果

JXPageControlChameleon JXPageControlExchange JXPageControlFill

 

JXPageControlJump JXPageControlScale

框架集

  • 公共框架公共类文件
  • 跳跃 - 跳跃动画效果类文件
  • 变换 - 过渡动画类文件


JXPageControl 介绍 [ JXPageControl 介绍 ]

JXPageControl 兼容 Swift 和 Objective-c

 

  • JXPageControlBase - 所有的 pageControl 的基础类
  • JXPageControlType - 所有的 pageControl 协议,它为开发者提供了一系列自定义的 API

 

JXPageControlType - provides - API

 

  • numberOfPages ---> 指示器的数量。
  • currentPage ---> 当前指示器页面编号。
  • progress ---> 当前指示器页面编号进程。
  • hidesForSinglePage ---> 当只有一个指示器时是否隐藏。
  • inactiveColor ---> 不活跃指示器颜色
  • activeColor ---> 活跃指示器颜色
  • inactiveSize ---> 不活跃指示器大小
  • activeSize ---> 活跃指示器大小
  • indicatorSize ---> 所有指示器大小
  • columnSpacing ---> 指示器之间的水平距离
  • contentAlignment ---> 内容布局位置(注意:该属性易于使用!!!)
  • contentMode ---> 内容布局位置,支持在 Xib 中进行变换,实时查看位置变化(注意:该属性非常有用!!!)
  • isInactiveHollow ---> 不活跃指示器是否为空心模式
  • isActiveHollow ---> 活跃指示器是否为空心模式
  • reload() ---> 刷新数据/UI
注意

JXPageControl 也为非 JXPageControlType 提供了一些 API。您可以在使用的具体类中查看

 


JXPageControl 使用

 

示例 1

  • 请使用(xib, storyboard进行属性和布局设置的!!!)
  • 请注意,模块应选择JXPageControl,否则它将不会显示,调用将报告错误。
  • 可以在视图中设置ContentMode以改变内容位置

 


示例 2

  • 请用纯代码编写

import JXPageControl

class ChamelonVC: UIViewController {

lazy var codePageControl: JXPageControlJump = {
let pageControl = JXPageControlJump(frame: CGRect(x: 0,
y: 0,
width: UIScreen.main.bounds.width,
height: 30))
pageControl.numberOfPages = 4

// JXPageControlType: default property
//        pageControl.currentPage = 0
//        pageControl.progress = 0.0
//        pageControl.hidesForSinglePage = false
//        pageControl.inactiveColor = UIColor.white.withAlphaComponent(0.5)
//        pageControl.activeColor = UIColor.white
//        pageControl.inactiveSize = CGSize(width: 10, height: 10)
//        pageControl.activeSize = CGSize(width: 10, height: 10)
//        pageControl.inactiveSize = CGSize(width: 10, height: 10)
//        pageControl.columnSpacing = 10
//        pageControl.contentAlignment = JXPageControlAlignment(.center,
//                                                              .center)
//        pageControl.contentMode = .center
//        pageControl.isInactiveHollow = false
//        pageControl.isActiveHollow = false

// JXPageControlJump: default "custom property"
pageControl.isAnimation  = true
pageControl.isFlexible = true

return pageControl
}()

override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(codePageControl)
}

}

extension ChamelonVC: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let progress = scrollView.contentOffset.x / scrollView.bounds.width
let currentPage = Int(round(progress))

//  Mode one 
codePageControl.progress = progress

// Mode two 
//        codePageControl.currentPagev = currentPage

}

}



示例 2 及其后续...


import JXPageControl
...

演示地址

作者

Code-TanJX, [email protected]

许可协议

JXPageControl基于MIT许可协议提供。更多信息请参阅LICENSE文件。