//创建ScrollView的方法

-(void)createScrollView

{

UIScrollView *sv = [[UIScrollView alloc]initWithFrame:CGRectMake(5, 5, self.view.frame.size.width - 10, self.view.frame.size.height-10)];

//w代表sv.frame的宽度

CGFloat w = self.view.frame.size.width - 10;

//滑动的size的设置

//宽度 如果要横着滑动设置大于sv.frame的宽度

sv.contentSize = CGSizeMake(3*w, sv.frame.size.height-10);

//获得三个图放到UIImageView

for (int i =0; i<3; i++)

{

//获得三张图

UIImage*image =[UIImage imageNamed:[NSString stringWithFormat:@"43_%d.jpg",i+1]];

//三张图放到imageView上去

UIImageView *iv = [[UIImageView alloc]initWithImage:image];

//设定imageView的位置

iv.frame = CGRectMake(i*w, 0, w, self.view.frame.size.height-10);

//        iv.userInteractionEnabled = YES;

//iv放到父视图 ScrollView上面去

[sv addSubview:iv];

}

//水平滑动指示条

sv.showsHorizontalScrollIndicator = NO;

//垂直滑动指示条

sv.showsVerticalScrollIndicator = NO;

//设置按页滑动 page

//  sv.pagingEnabled = YES;

//弹性设置

sv.bounces = NO;

sv.userInteractionEnabled = YES;

//自带放大 缩小 option

//默认不自己放大缩小

//设置放大最大的倍数

sv.maximumZoomScale = 2;

//设置最小缩小到多大

sv.minimumZoomScale = 0.5;

//设置代理

sv.delegate = self;

//要不要返回顶部

sv.scrollsToTop = YES;

//添加背景色

sv.backgroundColor = [UIColor redColor];

//添加到主界面

[self.view addSubview:sv];

//

UIPageControl *pageC = [[UIPageControl alloc]initWithFrame:CGRectMake(0, 0, 200, 40)];

pageC.center=CGPointMake(150,300);

pageC.numberOfPages = 10;

pageC.currentPage =2;

pageC.tag = 200;

pageC.currentPageIndicatorTintColor = [UIColor greenColor];

[pageC addTarget:self action:@selector(pageC:) forControlEvents:UIControlEventValueChanged];

pageC.pageIndicatorTintColor = [UIColor blackColor];

pageC.backgroundColor = [UIColor redColor];

[self.view addSubview:pageC];

}

#pragma mark -delegate

//控制放缩 代理方法

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView

{

//使得所有的界面都可以进行放缩

return scrollView.subviews[0];

}

//已经滑动

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

{

NSLog(@"开始滑动之后 执行的方法");

NSInteger index = scrollView.contentOffset.x /scrollView.frame.size.width;

UIPageControl *pc =(UIPageControl*) [self.view viewWithTag:200];

pc.currentPage =index;

}

//已经放缩

- (void)scrollViewDidZoom:(UIScrollView *)scrollView

{

NSLog(@"放缩之后 执行的方法");

}

//开始拖动的方法

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

{

NSLog(@"即将滑动的状态 指头轻轻一划");

}

// called on finger up if the user dragged. velocity is in points/millisecond. targetContentOffset may be changed to adjust where the scroll view comes to rest

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset

{

//scrollview就是当前的scrollview

//velocity加速度

//offset 移动

NSLog(@"即将结束滑动,手指移开 惯性还在滑的时候");

}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

{

NSLog(@"已经结束滑动");

}

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView

{

NSLog(@"减速");

}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

{

NSLog(@"减速完成 和滑动结束 状态基本一致");

}

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView

{

NSLog(@"结束滑动的动画");

}

//- (nullable UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;     // return a view that will be scaled. if delegate returns nil, nothing happens

- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view

{

//

bigSmallV = view;

NSLog(@"即将开始缩放");

}

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale

{

NSLog(@"已经结束缩放");

}

- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView

{

NSLog(@"返回是否可以滑动到顶部");

//返回YES表示可以滑动到顶部 返回No表示不可以滑动到顶部

return YES;

}

- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView

{

NSLog(@"已经返回到顶部");

}

#pragma mark - delegate

-(void)pageC:(UIPageControl *)pc

{

}

iosUIScrollView以及UIPageControl的基本使用以及所有代理方法的更多相关文章

  1. iOS- UIScrollView、UIPageControl分页浏览图片

    1.先介绍下UIScrollView的常见属性 @property(nonatomic) CGPoint contentOffset; // 记录UIScrollView滚动的位置 @property ...

  2. iOS-UIScrollView和UIPageControl的综合实力,滚动图,轮播图

    本代码主要实现图片之间的切换 目录结构 代码 ViewController.m文件 #import "ViewController.h" @interface ViewContro ...

  3. iOS--UIScrollView基本用法和代理方法

    主要是为了记录下UIScrollView的代理方法吧 在帮信息学院的学长做东西的时候需要大量用到分块浏览,所以就涉及到很多的关于scrollview,所以也就有了这篇文章   - (void)view ...

  4. UIPageControl简单使用

    1.添加一个UIPageControl到view中 -(void)addPageControl { UIPageControl* page=[[UIPageControl alloc]init]; p ...

  5. UI:UIScrollView、UIPageControl

    一.UIScrollView的常⽤用属性 二.UIScrollView的常⽤用代理方法 三.UIPageControl的使⽤用 四.UIPageControl与UIScrollView的结合使⽤用 U ...

  6. IOS-UIScrollView实现图片分页

    1.设置可以分页 _scrollView.pagingEnabled = YES; 2.添加PageControl UIPageControl *pageControl = [[UIPageContr ...

  7. 使用UIPageControl UIScrollView制作APP引导界面

    1. 新建两个视图控制器类(继承自UIViewController), 在AppDelegate.m中指定根视图控制器 #import "AppDelegate.h" #impor ...

  8. 利用UIScrollView和UIPageControl实现多页图片欢迎页面

    在.h文件当中实现UIScrollViewDelegate协议,让控制器充当代理: #import <UIKit/UIKit.h> @interface RPRootViewControl ...

  9. UIScrollView 和 UIPageControl

    UIScrollView [滚动视图]非常重要 UIScrollView是滚动视图,是其它带有滚动功能视图的父类, 本身不显示或者只显示背景,主要负责子视图的滚动和翻页. 一.常用属性 1.基本方法 ...

随机推荐

  1. sap 设备cnsapwin不支持页格式*****

    SAP SMARTFORMS 打印 CNSAPWIN 不支持页格式 解决办法: 在smartforms里的表格属性虽然定义了要打印的页格式 ZUNIA5 ,但是打印时会提示错误:" CNSA ...

  2. SweetTips: 快意灵动的Android提示库!

    此文章是我在简书的文章,自行搬到博客园.简书地址:SweetTips: 快意灵动的Android提示库! 源码及所在DEMO已上传至GitHub:SweetTips,欢迎大家提Bug,喜欢的话记得St ...

  3. 【Python之路】第九篇--Python基础之线程、进程和协程

    进程与线程之间的关系 线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除.线程可与属于同一进程的其它线程共享进程所拥有的全 ...

  4. 移动端默认返回按键,使用h5+修改默认事件

    hbuilder的h5+提供开发webapp的诸多便利,很多手机自带back虚拟按键,如果不修改其默认事件,点一下app就退出了,所以我这里提供一种修改这个按键默认事件事件的代码. 首先你要用hbui ...

  5. 安装mysql的遇到的问题

    源:安装用的是mysql官网的binary包. 之前装mysql都是直接放到/usr/local,就想试试放到其他地方,然后..就悲剧了. 安装步骤没啥说的,官网上有.因为放置的位置不一样所以有些执行 ...

  6. sf中schedule设定

    博客园龄有两年多了,看了一下我发的文章数和最后发布的日期,不禁的心头一怔,已经有一年都没有写更新博客了.突然想起一个句子好像说的是我:间歇性踌躇满志,持续性懒惰等死.最近也看到一位好朋友的qq个性签名 ...

  7. KVM guest caching modes

    kvm中host和guest各自维护自己的page caches,使得内存中有两份缓存数据.host的缓存为page cache可以理解为读缓存,guest的缓存为disk write cache,可 ...

  8. Finish and error to: Error Domain=NSURLErrorDomain Code=-1001 "请求超时。

    错误显示:Finish and error to: Error Domain=NSURLErrorDomain Code=-1001 "请求超时." UserInfo={NSUnd ...

  9. 【第一篇】Volley的使用之json请求

    最近项目写完,有开始新的学习了,volley很久以前就接触了,也看了源码,然而却没有通过文章去记录自己的学习成果. 首先讲下volley的特点: 1,扩展性强.Volley 中大多是基于接口的设计,可 ...

  10. imagick-3.1.0RC2 安装错误

    PHP 5.4.8 安装 imagick-3.1.0RC2 安装冒出一大堆错误, 貌似跟 ImageMagick-6.8.0-2 这个版本有关系, 我之前换成低版本的 ImageMagick 就可以顺 ...