我的iOS学习历程 - UIScrollView和UIPageControl

原创 2015年11月21日 11:33:37

今天学习的是UISCrollView,可以滑动的页面基本都是继承于它,轮播图实现源代码点击这里下载

把屏幕宽和高设置为宏定义

#define kScreenHeight [UIScreen mainScreen].bounds.size.height
#define kScreenWidth [UIScreen mainScreen].bounds.size.width

UIScrollView

最重要的就是偏移量的使用,偏移量可以联系起其中的每个页面
1.初始化

UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:[UIScreen mainScreen].bounds];

2.设置显示内容区域(滑动的范围)

scrollView.contentSize = CGSizeMake(kScreenWidth, kScreenHeight);

3.设置滚动条

scrollView.showsVerticalScrollIndicator = NO;  //  纵向
scrollView.showsHorizontalScrollIndicator = NO;//  横向

4.设置回弹效果(默认关闭,且要先打开总得才能设置水平和竖直的)

    scrollView.bounces = YES;
    scrollView.alwaysBounceHorizontal = YES;//  水平
    scrollView.alwaysBounceVertical = NO;//  竖直

5.设置缩放比列

    scrollView.minimumZoomScale = 0.5;
    scrollView.maximumZoomScale = 2;

6.设置代理(要设置代理才能完成代理中的方法)

scrollView.delegate = self;

UIScrollView常用的方法:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
//    NSLog(@"滑动时一直触发此方法");
}

- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
    NSLog(@"缩放时一直触发此方法");
    //  缩放时 按中心点缩放
    //  让imageView中心点 始终等于self.view中心点
    UIImageView *imageView =  scrollView.subviews[0];
    imageView.center = self.view.center;
}

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
    //  指定要缩放的视图 并且是scrollView的子视图
    //  缩放需要写代理方法和设置比例

    return scrollView.subviews[0];
}

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
    NSLog(@"将要开始拖拽触发");
}

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
    NSLog(@"已经结束拖拽触发");
}

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView {
    NSLog(@"将要开始减速触发");
}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
    //  最终图片停止在这个方法
    NSLog(@"已经结束减速触发");
}

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale {
    NSLog(@"缩放已经结束触发");
}

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView {
    //  改变偏移量的动画结束后 会触发
    NSLog(@"动画结束后触发");
}

UIPageControl

1.初始化

UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, kScreenHeight - 50, kScreenWidth, 50)];

2.设置一共有多少页(默认0)

pageControl.numberOfPages = 5;

3.设置当前显示第几页(默认从0开始)

pageControl.currentPage = 1;

4.设置选中和未选中颜色

pageControl.pageIndicatorTintColor = [UIColor greenColor]; 
pageControl.currentPageIndicatorTintColor = [UIColor yellowColor];

要添加点击事件来联系对应的页面

//  添加点击事件
    [pageControl addTarget:self action:@selector(pageControlAction:) forControlEvents:(UIControlEventValueChanged)];
//  点击事件的实现
- (void)pageControlAction
:(UIPageControl *)pageControl {
    NSLog(@"%ld",pageControl.currentPage);
}

最后会上传一个两个控件的联系的使用,把大部分的方法实现,实现一个轮播图.源代码标题下载

版权声明:本文为博主原创文章,未经博主允许不得转载。

UIScrollView+UIPageControl+NSTimer实现图片的自动滑动以及用户可手动切换,UIPageControl可点击

作者太好了  原文链接http://blog.csdn.net/zhuiyi316/article/details/7756472 研究了一整天的成果,也借鉴了网上的一些资料,参考了...
  • xiaoxiangzhu660810
  • xiaoxiangzhu660810
  • 2013年03月27日 20:24
  • 16168

使用UIScrollView和UIPageControl做一个可以用手势来切换图片的效果

利用UIScrollView的滚动效果来实现,先上图: 实现过程是:在viewController里先加入UIScrollView和UIPageControl: -(voi...
  • baidu_nod
  • baidu_nod
  • 2014年06月25日 22:28
  • 1116

在UIScrollview和UIPageControl中展示的图片添加点击事件

在UIScrollview和UIPageControl中展示的图片添加点击事件,手势要放在循环体中 -(void)topImage{ NSUserDefaults *userDe...
  • wanglj7525
  • wanglj7525
  • 2015年04月15日 10:19
  • 1762

iOS学习之UIScrollView及UIPageControl的使用

仅供自己学习笔记参考 效果图: 布局: 主要代码: #import "ViewController.h" @interface ViewController () @end ...
  • QQ243223991
  • QQ243223991
  • 2015年12月17日 11:02
  • 352

【学习ios之路:UI系列】实现轮播图效果(UIImageView,UIScrollView,UIPageControl,NSTimer相结合)

实现效果,在不点击的情况下,自定滚动,点击时,停止.如下图 部分代码如下: //调用NSTimer方法,自定计时 - (void)autoScroll { self.timer = [NS...
  • ZFX5130
  • ZFX5130
  • 2015年01月29日 21:15
  • 1460

iOS基础——通过案例学知识之LaunchScreen、APPIcon、StatusBar、UIScrollView、UIPageControl

  • 2017年03月05日 23:49
  • 785KB
  • 下载

iOS UIScrollView and UIPageControl

  • 2015年08月20日 15:43
  • 7.2MB
  • 下载

iOS--UIScrollView和UIPageControl配合使用完成引用介绍页面

// 效果图 // 直接代码 // 头文件 // //  RootViewController.h //  UIScrollVie...
  • u011042660
  • u011042660
  • 2014年11月29日 10:11
  • 298

Objective-C-iOS UIScrollView UIPageControl 的用法详解

- (void)viewDidLoad {     [super viewDidLoad];     //UIView是视图类,所有的控件都直接或间接地继承它   ...
  • wwc455634698
  • wwc455634698
  • 2016年09月23日 15:09
  • 90

iOS中UIScrollView和UIPageControl以及NSTimer的综合使用

在iOS开发中,我们经常会用到UISCrollView和UIPageControl 下面的demo实现了两者加上NSTimer定时器之后的功能 // // ViewController.m // ...
  • Devin_Zhan
  • Devin_Zhan
  • 2015年11月17日 14:39
  • 250
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我的iOS学习历程 - UIScrollView和UIPageControl
举报原因:
原因补充:

(最多只允许输入30个字)