Swift - 页控件(UIPageControl)的用法
前端之家收集整理的这篇文章主要介绍了
Swift - 页控件(UIPageControl)的用法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用页控件可以用来展示多个桌面。比如很多应用第一次登陆时,会在开始页面使用页控件来介绍功能,通过左右滑动来切换页。
通常我们使用UIPageControl和UIScrollView相互结合来实现多页切换,滑动
页面时页控件
标签(即
页面下方的小白点)会更新到对应的
页面。而直接点击页
标签时,滚动条也会滚到相应的页。
(
UIPageControl的当前页小圆点和非当前小圆点的颜色是可以设置的,同时如果只有一页的时候也可以选择是否显示圆点
)
import
UIKit
class
ViewController
:
UIViewController
,
UIScrollViewDelegate
{
@IBOutlet
var
pageControl:
UIPageControl
!
scrollView:
UIScrollView
!
@H_
404_89@
courses = [
[
"name"
:
"Swift"
"pic"
"swift.png"
],
"ObjectC"
"oc.jpg"
"Java"
"java.png"
]
]
override
func
viewDidLoad() {
super
.viewDidLoad()
// Do any additional setup after loading the view,typically from a nib.
scrollView.contentSize =
CGSizeMake
(
CGFloat
(
CGRectGetWidth
(
self
.view.bounds)) *
.courses.count),
CGRectGetHeight
.view.bounds)
)
scrollView.showsHorizontalScrollIndicator =
false
scrollView.showsVerticalScrollIndicator =
false
scrollView.scrollsToTop =
false
//协议代理,在本类中处理滚动事件
scrollView.delegate =
self
//滚动时只能停留到某一页
scrollView.pagingEnabled =
true
let
size = scrollView.bounds.size
for
(seq,course)
in
courses.enumerate() {
page =
UIView
()
imageView=
UIImageView
(image:
UIImage
(named:course[
]!))
page.addSubview(imageView);
page.backgroundColor =
UIColor
.greenColor()
lbl =
UILabel
(frame:
CGRect
(x: 0,y: 20,width: 100,height: 20))
lbl.text = course[
]
page.addSubview(lbl)
page.frame =
(x:
(seq) * size.width,y: 0,
width: size.width,height: size.height)
scrollView.addSubview(page)
}
pageControl.backgroundColor =
.clearColor()
pageControl.numberOfPages = courses.count
pageControl.currentPage = 0
//设置页控件点击事件
pageControl.addTarget(
"pageChanged:"
UIControlEvents
.
ValueChanged
)
}
didReceiveMemoryWarning() {
.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//UIScrollViewDelegate
方法,每次滚动结束后
调用
scrollViewDidEndDecelerating(scrollView:
!) {
//通过scrollView
内容的偏移计算当前
显示的是第几页
page =
Int
(scrollView.contentOffset.x / scrollView.frame.size.width)
//设置pageController的当前页
pageControl.currentPage = page
}
@H_933_
404@//点击页控件时事件处理