APAXPageControl 0.1.0

APAXPageControl 0.1.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2017年4月
SwiftSwift 版本3.0
SPM支持 SPM

Joe Gesualdo 维护。



  • 作者
  • Joe Gesualdo

APAXPageControl

一个简单易用的 iOS 分页控件

安装

pod 'APAXPageControl', '0.1.0'

使用方法

class ViewController: UIViewController {
  let pageControlController: APAXPageControlController!

  override func viewDidLoad() {
    ...
    let pageControlView = UIView(frame: CGRect())
    pageControlView.frame.size.width = CGFloat(10)
    pageControlView.frame.size.height = CGFloat(10)
    pageControlView.backgroundColor = UIColor.lightGray

    self.pageControlController = APAXPageControlController(
      withView: pageControlView,
      count: 4,
      spacing: Float(5),
      onSelectPageControl: { pageIndex in
      },
      onActivatePageControlView: { controlView in
        controlView.backgroundColor = UIColor.darkGray
        return controlView
      },
      onDeActivatePageControlView: {controlView in
        controlView.backgroundColor = UIColor.lightGray
        return controlView
      }
    )

    self.addChildViewController(self.pageControlController)
    self.view.addSubview(self.pageControlController.view)
    self.pageControlController.didMove(toParentViewController: self)

    self.pageControlController.selectAtIndex(self.currentPage)
    ...
  }
}

记得为页面控件视图添加约束或框架信息(宽度、高度、x、y)。

let controlView = self.pageControlController.view
controlView?.translatesAutoresizingMaskIntoConstraints = false;
controlView?.frame.size.width = CGFloat((controlCount * controlWidth) + (controlSpacing * (controlCount - 1)))
let centerPoint = self.view.frame.size.width/2
let xOrigin = centerPoint - ((controlView?.frame.size.width)!/2)
controlView?.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 50).isActive = true
controlView?.leftAnchor.constraint(equalTo: self.view.leftAnchor, constant: xOrigin).isActive = true
controlView?.heightAnchor.constraint(equalToConstant: CGFloat(controlHeight)).isActive = true