iosUIScrollView以及UIPageControl的基本使用以及所有代理方法
//创建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的基本使用以及所有代理方法的更多相关文章
- iOS- UIScrollView、UIPageControl分页浏览图片
1.先介绍下UIScrollView的常见属性 @property(nonatomic) CGPoint contentOffset; // 记录UIScrollView滚动的位置 @property ...
- iOS-UIScrollView和UIPageControl的综合实力,滚动图,轮播图
本代码主要实现图片之间的切换 目录结构 代码 ViewController.m文件 #import "ViewController.h" @interface ViewContro ...
- iOS--UIScrollView基本用法和代理方法
主要是为了记录下UIScrollView的代理方法吧 在帮信息学院的学长做东西的时候需要大量用到分块浏览,所以就涉及到很多的关于scrollview,所以也就有了这篇文章 - (void)view ...
- UIPageControl简单使用
1.添加一个UIPageControl到view中 -(void)addPageControl { UIPageControl* page=[[UIPageControl alloc]init]; p ...
- UI:UIScrollView、UIPageControl
一.UIScrollView的常⽤用属性 二.UIScrollView的常⽤用代理方法 三.UIPageControl的使⽤用 四.UIPageControl与UIScrollView的结合使⽤用 U ...
- IOS-UIScrollView实现图片分页
1.设置可以分页 _scrollView.pagingEnabled = YES; 2.添加PageControl UIPageControl *pageControl = [[UIPageContr ...
- 使用UIPageControl UIScrollView制作APP引导界面
1. 新建两个视图控制器类(继承自UIViewController), 在AppDelegate.m中指定根视图控制器 #import "AppDelegate.h" #impor ...
- 利用UIScrollView和UIPageControl实现多页图片欢迎页面
在.h文件当中实现UIScrollViewDelegate协议,让控制器充当代理: #import <UIKit/UIKit.h> @interface RPRootViewControl ...
- UIScrollView 和 UIPageControl
UIScrollView [滚动视图]非常重要 UIScrollView是滚动视图,是其它带有滚动功能视图的父类, 本身不显示或者只显示背景,主要负责子视图的滚动和翻页. 一.常用属性 1.基本方法 ...
随机推荐
- i++与++i区别使用
中心:使用变量自增或者处减使用尽量使用++i与--i,而不要去使用i++与i-- ++i与--i可以做左值也可以做右值,而i++与i--只能做右值. 对于基础类型i++与++i结果相同,但是i++肯定 ...
- NYOJ-102 次方求模
次方求模 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 求a的b次方对c取余的值 输入 第一行输入一个整数n表示测试数据的组数(n<100)每组测试只有一 ...
- @property (nonatomic, getter = isExpanded) BOOL expanded;
如果这个property是 BOOL on, 那么Objc默认创建的 setter 为: - (void)on:(BOOL)setOn { } getter 为: - (BOOL)on { retur ...
- 第三天 函数 三元运算 lambda表达式 内置函数 文件操作
面向过程: 直接一行一行写代码,遇到重复的内容复制黏贴. 不利于代码阅读 代码没有复用 面向对象 将代码块定义为函数,以后直接调用函数 增强了复用性 函数的定义方法 def 函数名(传递参数): 函数 ...
- 读取Zip文件内容
第一步,上次文件并保存到服务器目录下 /// <summary> /// 上传压缩文件 /// </summary> protected void UploadZip() { ...
- Java内部类的使用小结
转载:http://android.blog.51cto.com/268543/384844/ Java内部类的使用小结 内部类是指在一个外部类的内部再定义一个类.类名不需要和文件夹相同. *内部类可 ...
- 【MySQL】使用 Optimizer Trace 观察SQL执行过程
Optimizer Trace 是MySQL 5.6.3里新加的一个特性,可以把MySQL Optimizer的决策和执行过程输出成文本.输出使用JSON格式,便于程序分析和人类阅读. 使用方法 1) ...
- “System.BadImageFormatException”类型的未经处理的异常在 PurchaseDevices.Access.dll 中发生 其他信息: 未能加载文件或程序集“System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139”或它的某一个依赖项。试图加载格式不正确
引用sqlite的程序集时,有时会报如下异常: "System.BadImageFormatException"类型的未经处理的异常在 PurchaseDevices.Acces ...
- mysql 数据列按照逗号转成行
前言: 由于很多业务表因为历史原因或者性能原因,都使用了违反第一范式的设计模式.即同一个列中存储了多个属性值(具体结构见下表). 这种模式下,应用常常需要将这个列依据分隔符进行分割,并得到列转行的结果 ...
- ios空模板配置
ios之Xcode6如何手动创建空工程模板 1.首先创建Single View Application 2.然后找到工程目录->Supporting Files ——>找到 info.pl ...