属性:

- (void)viewDidLoad {
[super viewDidLoad];
_scrollView.backgroundColor = [UIColor redColor];
//设置contentSize(必须设置)
_scrollView.contentSize = CGSizeMake(, );
//偏移量
_scrollView.contentOffset = CGPointMake(, );
//contentInset(在原有的基础上调整内容滚动区域的大小)
//_scrollView.contentInset = UIEdgeInsetsMake(-100, 0, 0, 0); //锁定方向(当系统识别滚动方向的时候,会把另外一个方向锁定,如果识别不了,就不锁定方向)
_scrollView.directionalLockEnabled = YES;
//反弹效果(默认为yes)
_scrollView.bounces = YES;
//默认是no,假如是yes并且bounces是yes,甚至如果内容大小小于bounds的时候,允许垂直拖动
_scrollView.alwaysBounceVertical = YES;
//分页(默认no)
_scrollView.pagingEnabled = YES;
//滚动(默认yes允许滚动)
_scrollView.scrollEnabled = YES; //滚动条
//showsHorizontalScrollIndicator默认yes 显示
_scrollView.showsHorizontalScrollIndicator = NO;
//滚动条滚动的范围(垂直滚动条滚动范围上下各缩小50)
_scrollView.scrollIndicatorInsets = UIEdgeInsetsMake(, , , );
//样式
_scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewDidLoad {
[super viewDidLoad];
//创建并添加scrollView
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(, , , )];
[self.view addSubview:scrollView]; scrollView.backgroundColor = [UIColor redColor];
//设置内容视图的大小
scrollView.contentSize = CGSizeMake(, );
//设置内容视图
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )];
imageView.image = [UIImage imageNamed:@"new_feature_1"];
[scrollView addSubview:imageView]; _imageView = imageView;
//设置代理
scrollView.delegate = self; //[self performSelector:@selector(changeScrollViewContentOffSet:) withObject:scrollView afterDelay:3]; //设置缩放内容视图的缩放比例范围
scrollView.minimumZoomScale = 0.5;
scrollView.maximumZoomScale = 1.5;
//当缩放比例超出范围之后,是否有反弹效果(no:不会超出范围,yes:超出范围之后反弹)
scrollView.bouncesZoom = YES; //属性设置滚动至顶部
//scrollView.scrollsToTop = YES;
// Do any additional setup after loading the view, typically from a nib.
} -(void)changeScrollViewContentOffSet:(UIScrollView *)scrollView{
[scrollView setContentOffset:CGPointMake(, ) animated:YES];
} #if 0
#pragma mark -UIScrollViewDelegate 滚动
//当scrollView滚动的时候,不停调用(可以监听scrollView的contentOffset)
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
//NSLog(@"%@",NSStringFromCGPoint(scrollView.contentOffset));
//NSLog(@"decelerating:%d",scrollView.decelerating);
//NSLog(@"dragging:%d",scrollView.dragging);
//NSLog(@"tracking:%d",scrollView.tracking);
NSLog(@"%s",__func__);
} //开始拖动的时候调用
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
//NSLog(@"tracking:%d",scrollView.tracking);
NSLog(@"%s",__func__);
} // 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 {
// NSLog(@"velocity:%@",NSStringFromCGPoint(velocity));
// NSLog(@"targetContentOffset:%@",NSStringFromCGPoint(*targetContentOffset));
//强制设置scrollView的偏移量
//*targetContentOffset = CGPointMake(0, 200);
NSLog(@"%s",__func__);
} // 已经结束拖动
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
//NSLog(@"dragging:%d",scrollView.dragging);
NSLog(@"%s",__func__);
} //将要开始减速
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
//NSLog(@"decelerating:%d",scrollView.decelerating);
NSLog(@"%s",__func__);
} //减速完成(停止)
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
//NSLog(@"contentOffset:%@",NSStringFromCGPoint(scrollView.contentOffset));
NSLog(@"%s",__func__);
} // called when setContentOffset/scrollRectVisible:animated: finishes. not called if not animating
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
NSLog(@"%s",__func__);
}
#endif
#pragma mark -UIScrollViewDelegate(缩放)
//指定缩放视图
- (nullable UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
NSLog(@"%s,zooming:%d",__func__,scrollView.zooming);
return _imageView;
}
//缩放之前调用
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view {
NSLog(@"%s,zooming:%d",__func__,scrollView.zooming);
}
//完成缩放
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view atScale:(CGFloat)scale{
NSLog(@"%s,zooming:%d",__func__,scrollView.zooming);
}
//缩放时调用
- (void)scrollViewDidZoom:(UIScrollView *)scrollView{
NSLog(@"%s,zooming:%d",__func__,scrollView.zooming);
} #pragma mark -UIScrollViewDelegate(滚动至顶部)
//允许滚动至顶部
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView{
return YES;
} //已经滚动至顶部
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView{
NSLog(@"加载新数据,刷新界面");
}

ScrollView的基本用法丶代理方法的更多相关文章

  1. UIScrollView的基本使用和一些常用代理方法

    - (void)viewDidLoad { [super viewDidLoad]; scrollView = [[UIScrollView alloc] initWithFrame:CGRectMa ...

  2. iosUIScrollView以及UIPageControl的基本使用以及所有代理方法

    //创建ScrollView的方法 -(void)createScrollView { UIScrollView *sv = [[UIScrollView alloc]initWithFrame:CG ...

  3. IOS UIScrollView常用代理方法

    iOS UIScrollView代理方法有很多,从头文件中找出来学习一下 //只要滚动了就会触发 - (void)scrollViewDidScroll:(UIScrollView *)scrollV ...

  4. ios开发UI篇—UIScrollView属性及其代理方法

    一.UIScrollView是什么? 1.UIScrollView是滚动的view,UIView本身不能滚动,子类UIScrollview拓展了滚动方面的功能. 2.UIScrollView是所有滚动 ...

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

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

  6. UIScrollView的代理方法(delegate)

    // ViewController.m // 05-UIScrollView的代理(delegate) #import "ViewController.h" @interface ...

  7. 通读AFN②--AFN的上传和下载功能分析、SessionTask及相应的session代理方法的使用细节

    这一部分主要研究AFN的上传和下载功能,中间涉及到各种NSURLSessionTask的一些创建的解析和HTTPSessionManager对RESTful风格的web应用的支持,同时会穿插一点NSU ...

  8. UITextField的代理方法:textField:shouldChangeCharactersInRange:replacementString

    原文链接:http://www.cnblogs.com/zhanggui/p/6101813.html 这个我在开发的过程中用到的次数最多,因此这里就简单对其进行分析.先看看Command+点击 弹出 ...

  9. iOS开发之巧用Block和代理方法结合来传值

    好久没写技术博客了,因为996的工作周期已经持续好几个月了.每天晚上回家都没有太多精力学习很多其他的东西,而且很多时候是接着完善工作的项目的模块开发.所以博客停歇了这么久,更新率也低了不少,今天补充一 ...

随机推荐

  1. Django restframwork获取列表详情

    z哎Django restframwork中就有一个类可以获取列表的详情内容,只有两行代码就可以搞定,在浏览器测试是ok的.但是这样的接口给前端,前端点击详情然后会将models.表名.objects ...

  2. (2)Mac环境搭建

    创建HelloWorld项目 将刚才下载的压缩包解压到你指定的文件夹里. 进入到目录cocos2d-x-3.2alpha0/tools/cocos2d-console/bin/cocos.py 打开终 ...

  3. Codeforces Round #534 (Div. 2) Solution

    A. Splitting into digits Solved. #include <bits/stdc++.h> using namespace std; int n; void sol ...

  4. hdu5009

    这题说的是给了一个  长度为n(n<=50000)的数列,数列表示的是给每个珍珠涂的颜色,任务是将一窜长度为n的珍珠涂成他所要的颜色.然后你可以操至多n次, 每次画只能画连续的区间,每次操作是的 ...

  5. 2017-2018-2 20165207 实验三《敏捷开发与XP实践》实验报告

    java 实验三 实验报告 实验内容 代码规范 不规范的代码可能妨碍阅读,在粘贴下来老师在云班课中设置的提交点一的代码之后,我首先使用了IDEA中Code选项卡的Reformat Code功能规范代码 ...

  6. c++第二十九天

    p143~p151:其他隐式类型转换1.数组转换成指针,大多数表达式自动转换成指向数组首元素的指针. 2.指针的转换. 3.转换成布尔类型,例如在if (condition) 中. 4.转换成常量. ...

  7. Redis设置Auth认证保护

    redis有一个认证方式来保护数据的安全.设置此认证有两种方式,一种是通过配置文件,一个是在redis客户端命令直接设定 一.配置文件(需要重启redis生效) 找到参数 requirepass, 这 ...

  8. python判断key是否存在

    d = {: , : , : , : , : , : } def is_key_present(x): if x in d: print('Key is present in the dictiona ...

  9. 定义 S4 泛型函数

    在前面的例子中,我们可以看出 S4 比 S3 更正式,因为 S4 类有类的正式定义.同样, S4 的泛型函数也更加正式.在一个关于形状的例子中,我们定义了一系列具有继承关系的 S4 类,只是继承关系的 ...

  10. Spring Cloud组件

    Spring Cloud Eureka Eureka负责服务的注册于发现,Eureka的角色和 Zookeeper差不多,都是服务的注册和发现,构成Eureka体系的包括:服务注册中心.服务提供者.服 ...