属性:

- (void)viewDidLoad {[super viewDidLoad];_scrollView.backgroundColor = [UIColor redColor];//设置contentSize(必须设置)_scrollView.contentSize = CGSizeMake(400, 667);//偏移量_scrollView.contentOffset = CGPointMake(100, 0);//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(50, 0, 50, 0);//样式_scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;// Do any additional setup after loading the view, typically from a nib.
}

- (void)viewDidLoad {[super viewDidLoad];//创建并添加scrollViewUIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(100, 200, 200, 300)];[self.view addSubview:scrollView];scrollView.backgroundColor = [UIColor redColor];//设置内容视图的大小scrollView.contentSize = CGSizeMake(375, 667);//设置内容视图UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 375, 667)];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(0, 300) 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(@"加载新数据,刷新界面");
}

转载于:https://www.cnblogs.com/longiang7510/p/5368197.html

ScrollView的基本用法丶代理方法相关推荐

  1. ScrollView各属性,及代理方法汇总

    本文希望对那些UI初级学者,提供些帮助. 笔者感言:学习scrollView,可能再以后的工作中用的不是太多,但它的两个子类,相信用的比例绝对很大,UITableVIew和UICollectionVi ...

  2. ScrollView常用(暂时用上了的)代理方法

    2019独角兽企业重金招聘Python工程师标准>>> ScrollView常用代理方法: #pragma mark - 滚动结束调用 -(void)scrollViewDidEnd ...

  3. UIScrollView的代理方法(delegate)

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

  4. Thread线程的深刻理解和代理方法参数[有图有真相]

    在这说的是Thread的基本用法,线程池ThreadPool在这就不说的,以前的blog有写,基本上两个用法都是相同的.基本用法和图,不需要的大鸟请绕行,谢谢! 目录: 1.Thread基本用法与异步 ...

  5. xray基本用法以及联动方法

    xray基本用法以及联动方法 下载网址 参考网址 安装ca证书 一.简单爬虫 二.联动burp 三.联动awvs 下载网址 Github: https://github.com/chaitin/xra ...

  6. ios searchBar 的代理方法 集合

    下面是搜索框控件的一些代理方法: - (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar;将要开始编辑时的回调,返回为NO,则不能编辑 ...

  7. 错误记录​:使用CLLocationManager不走代理方法

    问题描述:觉得配置的一切都对,但是就是没有走代理方法 原因:一开始CLLocationManager对象使用的是局部变量,当方法结束后CLLocationManager对象已经被释放掉,所以没有走代理 ...

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

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

  9. iOS之深入解析WKWebView加载的生命周期与代理方法

    一.前言 从 WebView 开始加载一条请求,到页面完整呈现这一过程发生了什么?无论是做 WebView 性能优化还是异常问题监控与排查,都离不开对WKWebView加载的生命周期与代理方法的剖析. ...

最新文章

  1. linux开启kafka消费者命令,Linux kafka常用命令
  2. oracle dump 文件解析,oracle 事件转储udump文件
  3. Xcode调试命令大全 (LLDB Cheatsheet)
  4. 腾讯数据库内核团队资深架构师:TXSQL Internals @2018
  5. 《Head First设计模式》第九章(1)迭代器模式
  6. python半圆_如何使用Python中的Zelle图形生成一个半圆?
  7. DOM(三)——创建删除元素及优化(文档片段)
  8. 建模常用Python代码
  9. 【转】《飞鸟集》325首全文
  10. roce流量抓包 linux,roce性能测试方法
  11. NLP实战之textRNN中文文本分类
  12. 海康SDK的NET_DVR_GET_FTPCFG_V40
  13. 微信公众号网页授权思路解析及具体代码
  14. 74HC238引脚定义 使用方法
  15. 【二〇二〇·冬】读书笔记
  16. 怎么用matlab对图片缩小,使用Matlab实现对图片的缩放
  17. Oracle经典书籍
  18. Androidstudio基于Java开发的API数据解析
  19. 揭秘Alltesting众测平台
  20. 数据可视化--绘制百分比堆积柱状图、簇形柱状图、并列子图

热门文章

  1. Android网络连接判断与处理
  2. 漫画:什么是二分查找
  3. 线性回归与多项式回归的区别,如何判断他们的使用场景
  4. Spring AOP Capability and Goal
  5. 结合JDK源码看设计模式——策略模式
  6. 大名鼎鼎的Requests库用了什么编码风格?
  7. Codeforces Gym101246C:Explode 'Em All(DP + bitset)
  8. c++中的字符集与中文
  9. SystemProperities
  10. .NET里面的Interop太烂了