IOS 之 UIScrollView,UIPageControl

UIScrollView 可以用于显示多于一个屏幕的内容,超出屏幕范围的内容可以通过滑动进行查看,UIPageControl 类提供一行点来指示当前显示的是多页面视图的哪一页。

下面实现一个简单的图片自动播放器为例说说 UIScrollView 与 UIPageControl类中的一些方法。

注意:下述代码中的 scrollY,kScreenWidth,kScreenHeight,kImgCount 等都是定义好的常量

#define kScreenHeight [UIScreen mainScreen].bounds.size.height
#define kScreenWidth [UIScreen mainScreen].bounds.size.width
CGFloat kImgCount = 10;
CGFloat scrollY = 10;
CGFloat pageCtrlWidth = 200;

frame中的size指UIScrollView的可视范围

self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, scrollY, kScreenWidth, kScreenHeight - scrollY)];

设置UIScrollView的滚动范围(大小)

self.scrollView.contentSize = CGSizeMake(kScreenWidth * kImgCount, kScreenHeight - scrollY);

控制控件整页翻动(分页效果)

self.scrollView.pagingEnabled = YES;

UIScrollView当前滚动的位置,animated:YES 表示以恒定速度滚动

[self.scrollView setContentOffset:point animated:YES];

例如:拖动到一半时,页面数加1。

NSInteger page = scrollView.contentOffset.x / kScreenWidth + 0.5;//contentOffset.x 表示在x轴上拖动的距离
    self.pageCtrl.currentPage = page;

初始化UIPageControl

self.pageCtrl = [[UIPageControl alloc] initWithFrame:CGRectMake((kScreenWidth - pageCtrlWidth)/2, kScreenHeight - scrollY, kScreenWidth/2, scrollY/2 )];

一共显示多少个圆点

self.pageCtrl.numberOfPages = kImgCount;

设置非选中页的圆点颜色

self.pageCtrl.pageIndicatorTintColor = [UIColor greenColor];

设置选中页的圆点颜色

self.pageCtrl.currentPageIndicatorTintColor = [UIColor yellowColor];

A insertSubView B aboveSubview:C 是将B插入A并且在A已有的子视图C的上面
A addSubview B 是将B直接覆盖在A的最上层
A insertSubView B AtIndex:2 是将B插入到A的子视图index为2的位置(最底下是0)
A insertSubView B belowSubview:C 是将B插入A并且在A已有的子视图C的下面

例:

[self.view insertSubview:self.pageCtrl aboveSubview:self.scrollView];

暂时更新 UIScrollView 与 UIPageControl 的这些方法,当然还有一些其他方法没有整理,后续会根据学习情况不断积累!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值