UIScrollView其实构建的就像一列很长的火车,每滑动一个屏幕,展示一节车厢。

  1. //主屏幕高度
  2. #define kScreenHeight [UIScreen mainScreen].bounds.size.height
  3. //主屏幕宽度
  4. #define kScreenWidth [UIScreen mainScreen].bounds.size.width
  5. CGFloat kImgCount = 10;
  6.  
  7. CGFloat scrollY = 20; //scrollView距离屏幕顶部的距离
  8. CGFloat pageCtrlWidth = 200;
  9.  
  10. @property (nonatomic, strong) UIScrollView *scrollView;
  11. @property (nonatomic, strong) UIPageControl *pageCtrl;
  12.  
  13. //构建UIScrollView代码
  14. self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, scrollY, kScreenWidth, kScreenHeight - scrollY)];
  15. self.scrollView.delegate = self;
  16. for (int i = 0; i<kImgCount; i++) {
  17. UIImageView *imgview = [[UIImageView alloc] initWithFrame:CGRectMake(kScreenWidth * i, scrollY, kScreenWidth, kScreenHeight - scrollY)];
  18. imgview.image = [UIImage imageNamed:[NSString stringWithFormat:@"news%04d",i]];
  19. [self.scrollView addSubview:imgview];
  20. }
  21. self.scrollView.contentSize = CGSizeMake(kScreenWidth * kImgCount, kScreenHeight - scrollY);//设置这一列火车的总长度
  22. self.scrollView.pagingEnabled = YES;//分页显示
  23. [self.view addSubview:self.scrollView];
  24.  
  25. //构建UIPageControl代码
  26. self.pageCtrl = [[UIPageControl alloc] initWithFrame:CGRectMake((kScreenWidth - pageCtrlWidth)/2, kScreenHeight - scrollY, pageCtrlWidth, scrollY)];
  27. self.pageCtrl.numberOfPages = kImgCount;
  28. self.pageCtrl.pageIndicatorTintColor = [UIColor greenColor];
  29. self.pageCtrl.currentPageIndicatorTintColor = [UIColor yellowColor];
  30. [self.view insertSubview:self.pageCtrl aboveSubview:self.scrollView];

UIScrollView常用代理方法

  1. //当视图滑动时
  2. - (void)scrollViewDidScroll:(UIScrollView *)scrollView{
  3.  
  4. }
  5. // 当视图将要拖动的时候
  6. - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
  7.  
  8. }
  9. //当视图停止拖拽的时候调用
  10. - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
  11.  
  12. }

IOS初级:UIScrollView & UIPageControl的更多相关文章

  1. iOS程序-UIScrollView的基本使用

    iOS程序-UIScrollView的基本使用 scrollView的几个属性contentSize contentOffset contentInset 1.不能向上滑动很可能是因为contentS ...

  2. Unity3D for iOS初级教程:Part 3/3

    转自Unity 3D for iOS 这篇文章还可以在这里找到 英语 Learn how to use Unity to make a simple 3D iOS game! 这份教程是由教程团队成员 ...

  3. Unity3D for iOS初级教程:Part 3/3(上)

    转自:http://www.cnblogs.com/alongu3d/archive/2013/06/01/3111738.html 欢迎来到第三部分,这是Unity 3D for iOS初级系列教程 ...

  4. iOS纯代码制作欢迎界面——UIScrollView, UIPageControl, UIImageView,UIButton, NSTimer

    欢迎界面,还是比较简单的,一个UIScrollView控件,一个UIPageControl,几个UIImageView即可摆平.在这里光玩这些,就显得诚意不足了.特意拓展一下,再加几个UIButton ...

  5. UIScrollView,UIPageControl,UIImageView 实现图片轮播的效果

    上一篇博客介绍了如何将XCode创立的项目提交到Git版本控制,这次就直接做一个图片轮播的展示demo,刚好可以把UIScrollView.UIPageControl.UIImageView这三个控件 ...

  6. iOS开发UIScrollView的底层实现

    起始 做开发也有一段时间了,经历了第一次完成项目的激动,也经历了天天调用系统的API的枯燥,于是就有了探索底层实现的想法. 关于scrollView的思考 在iOS开发中我们会大量用到scrollVi ...

  7. iOS之UIScrollView循环滚动

    #import "ViewController.h" #define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width #d ...

  8. 启动图实现:UIScrollView+UIPageControl简单实现

    #import "MJViewController.h"#import "RootViewController.h" @interface MJViewCont ...

  9. IOS中UIScrollView的详细使用

    UIScrollView 是可以滚动的View 要想让UIScrollView可以滚动,必须设置UIScrollView的contentSize contentSize : 表示UIScrollVie ...

随机推荐

  1. 运行VUE的前端项目

    前提条件:已经安装nodejs和cnpm ,参考前一篇文章 1.在前端项目所在的目录下执行cnpm install 下载该项目需要的包,这些包和全局配置下的包可能不同的版本cnpm会根据package ...

  2. day26 面向对象的常用方法 和 元类的使用

    1. 面向对象中的常用方法 ***** isinstance() # 判断某个对象是不是某个类的实例 # 判断stu对象是不是Student类的实例 是不是子类 issubclass() class ...

  3. 第三章 列表(e)插入排序

  4. nagios维护之常见问题

    一.重启nagios 报错: Starting nagios:This account is currently not available.     #这个账户目前不可用: 解决方法: a.编辑/e ...

  5. LibreOJ 6280 . 数列分块入门 4

    题目链接:https://loj.ac/problem/6280 加一个数组保存块的和. 代码: #include<iostream> #include<cstring> #i ...

  6. TZOJ 2588 Bad Grass(DFS)

    描述 Bessie was munching on tender shoots of grass and, as cows do, contemplating the state of the uni ...

  7. Python: 定时器(Timer)简单实现

    项目分析中发现有网站下载过程中需要发送心跳指令,复习下定时器,其与javascript中实现方法类似. 其原理为执行函数中置定时函数Timer(),递归调用自己,看来实现方法比较拙劣. 假定1秒触发一 ...

  8. GridView和DataFormatString 日期格式 精确小数点后位数

    如果DataFormatString无效,请添加属性 HtmlEncode = "false" --------------------------------------- Da ...

  9. 管道分隔符Split

    string[] areaID = area1Id.Split(new char[] { ',' });

  10. swift - scrollview 判断左右移动, 以及上下两个view联动

    核心代码 1. 2. 3. 界面代码VFL /* 浏览作品view*/ import UIKit /** * 图片浏览器(大图和缩略图) */ class JYBrowseWorksView: UIV ...