SWIFT | OBJECTIVE-C |
---|
FSPagerView 是一个优雅的屏幕滑动库,主要使用 UICollectionView 实现。 它非常适合制作横幅广告、产品展示、欢迎/引导页、屏幕/ViewController 滑动器。
横幅广告 |
---|
![]() |
自动滑动的时间间隔。 0 表示禁用自动滑动。 默认值为 0。
例如:
pagerView.automaticSlidingInterval = 3.0
一个布尔值,指示 Pager View 是否具有无限数量的 Item。 默认值为 false。
例如:
pagerView.isInfinite = true
一个无符号整数值,决定了 Pager View 的分页距离,它指示了减速期间经过的 Item 数量。 当此属性的值为 FSPagerView.automaticDistance 时,实际的“距离”会根据 Pager View 的滚动速度自动计算。 默认值为 1。
例如:
pagerView.decelerationDistance = 2
Pager View 的 Item 大小。 当此属性的值为 FSPagerView.automaticSize 时,Item 会填充 Pager View 的整个可见区域。 默认值为 FSPagerView.automaticSize。
例如:
pagerView.itemSize = CGSize(width: 200, height: 180)
Pager View 中 Item 之间的间距。 默认值为 0。
例如:
pagerView.interitemSpacing = 10
交叉淡化 |
---|
![]() |
pagerView.transformer = FSPagerViewTransformer(type: .crossFading)
缩小 |
---|
![]() |
pagerView.transformer = FSPagerViewTransformer(type: .zoomOut)
深度 |
---|
![]() |
pagerView.transformer = FSPagerViewTransformer(type: .depth)
线性 |
---|
![]() |
pagerView.transformer = FSPagerViewTransformer(type: .linear)
重叠 |
---|
![]() |
pagerView.transformer = FSPagerViewTransformer(type: .overlap)
摩天轮 |
---|
![]() |
pagerView.transformer = FSPagerViewTransformer(type: .ferrisWheel)
倒置摩天轮 |
---|
![]() |
pagerView.transformer = FSPagerViewTransformer(type: .invertedFerrisWheel)
封面流 |
---|
![]() |
pagerView.transformer = FSPagerViewTransformer(type: .coverFlow)
立方体 |
---|
![]() |
pagerView.transformer = FSPagerViewTransformer(type: .cubic)
通过继承
FSPagerViewTransformer
来定制你自己的变换器。
页面控制 |
---|
![]() |
|
页面控制器的页面指示器数量。 默认值为 0。
例如:
pageControl.numberOfPages = 5
当前页,由页面控制器突出显示。 默认值为 0。
例如:
pageControl.currentPage = 1
控件边界内内容的水平对齐方式。 默认值为居中。
例如:
pageControl.contentHorizontalAlignment = .right
为指定状态设置页面指示器使用的描边颜色。(selected/normal)。
例如:
pageControl.setStrokeColor(.green, for: .normal)
pageControl.setStrokeColor(.yellow, for: .selected)
为指定状态设置页面指示器使用的填充颜色。(selected/normal)。
例如:
pageControl.setFillColor(.gray, for: .normal)
pageControl.setFillColor(.white, for: .selected)
为指定状态设置页面指示器使用的图像。(selected/normal)。
例如:
pageControl.setImage(UIImage(named:"image1"), for: .normal)
pageControl.setImage(UIImage(named:"image2"), for: .selected)
为指定状态设置页面指示器使用的路径。(selected/normal)。
例如:
pageControl.setPath(UIBezierPath(rect: CGRect(x: 0, y: 0, width: 8, height: 8)), for: .normal)
pageControl.setPath(UIBezierPath(ovalIn: CGRect(x: 0, y: 0, width: 8, height: 8)), for: .selected)
use_frameworks!
target '<Your Target Name>' do
pod 'FSPagerView'
end
github "WenchaoD/FSPagerView"
// Create a pager view
let pagerView = FSPagerView(frame: frame1)
pagerView.dataSource = self
pagerView.delegate = self
pagerView.register(FSPagerViewCell.self, forCellWithReuseIdentifier: "cell")
self.view.addSubview(pagerView)
// Create a page control
let pageControl = FSPageControl(frame: frame2)
self.view.addSubview(pageControl)
Custom Class
更改为 FSPagerView
。(或者 FSPageControl
)dataSource
和 delegate
属性链接到你的 View Controller。@IBOutlet weak var pagerView: FSPagerView! {
didSet {
self.pagerView.register(FSPagerViewCell.self, forCellWithReuseIdentifier: "cell")
}
}
public func numberOfItems(in pagerView: FSPagerView) -> Int {
return numberOfItems
}
public func pagerView(_ pagerView: FSPagerView, cellForItemAt index: Int) -> FSPagerViewCell {
let cell = pagerView.dequeueReusableCell(withReuseIdentifier: "cell", at: index)
cell.imageView?.image = ...
cell.textLabel?.text = ...
return cell
}
func pagerView(_ pagerView: FSPagerView, shouldHighlightItemAt index: Int) -> Bool
询问委托在跟踪期间是否应突出显示 Item。
func pagerView(_ pagerView: FSPagerView, didHighlightItemAt index: Int)
告诉委托指定索引处的 Item 已被突出显示。
func pagerView(_ pagerView: FSPagerView, shouldSelectItemAt index: Int) -> Bool
询问委托是否应选择指定的 Item。
func pagerView(_ pagerView: FSPagerView, didSelectItemAt index: Int)
告诉委托指定索引处的 Item 已被选中。
func pagerView(_ pagerView: FSPagerView, willDisplay cell: FSPagerViewCell, forItemAt index: Int)
告诉委托指定的 Cell 即将在 Pager View 中显示。
func pagerView(_ pagerView: FSPagerView, didEndDisplaying cell: FSPagerViewCell, forItemAt index: Int)
告诉委托指定的 Cell 已从 Pager View 中移除。
func pagerViewWillBeginDragging(_ pagerView: FSPagerView)
告诉委托 Pager View 即将开始滚动内容。
func pagerViewWillEndDragging(_ pagerView: FSPagerView, targetIndex: Int)
告诉委托用户完成滚动内容。
func pagerViewDidScroll(_ pagerView: FSPagerView)
告诉委托用户在接收器中滚动内容视图。
func pagerViewDidEndScrollAnimation(_ pagerView: FSPagerView)
告诉委托 Pager View 中的滚动动画已完成。
func pagerViewDidEndDecelerating(_ pagerView: FSPagerView)
告诉委托 Pager View 已经结束减速滚动运动。