ScrollView的基本用法丶代理方法
属性:
- (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的基本用法丶代理方法的更多相关文章
- UIScrollView的基本使用和一些常用代理方法
- (void)viewDidLoad { [super viewDidLoad]; scrollView = [[UIScrollView alloc] initWithFrame:CGRectMa ...
- iosUIScrollView以及UIPageControl的基本使用以及所有代理方法
//创建ScrollView的方法 -(void)createScrollView { UIScrollView *sv = [[UIScrollView alloc]initWithFrame:CG ...
- IOS UIScrollView常用代理方法
iOS UIScrollView代理方法有很多,从头文件中找出来学习一下 //只要滚动了就会触发 - (void)scrollViewDidScroll:(UIScrollView *)scrollV ...
- ios开发UI篇—UIScrollView属性及其代理方法
一.UIScrollView是什么? 1.UIScrollView是滚动的view,UIView本身不能滚动,子类UIScrollview拓展了滚动方面的功能. 2.UIScrollView是所有滚动 ...
- iOS--UIScrollView基本用法和代理方法
主要是为了记录下UIScrollView的代理方法吧 在帮信息学院的学长做东西的时候需要大量用到分块浏览,所以就涉及到很多的关于scrollview,所以也就有了这篇文章 - (void)view ...
- UIScrollView的代理方法(delegate)
// ViewController.m // 05-UIScrollView的代理(delegate) #import "ViewController.h" @interface ...
- 通读AFN②--AFN的上传和下载功能分析、SessionTask及相应的session代理方法的使用细节
这一部分主要研究AFN的上传和下载功能,中间涉及到各种NSURLSessionTask的一些创建的解析和HTTPSessionManager对RESTful风格的web应用的支持,同时会穿插一点NSU ...
- UITextField的代理方法:textField:shouldChangeCharactersInRange:replacementString
原文链接:http://www.cnblogs.com/zhanggui/p/6101813.html 这个我在开发的过程中用到的次数最多,因此这里就简单对其进行分析.先看看Command+点击 弹出 ...
- iOS开发之巧用Block和代理方法结合来传值
好久没写技术博客了,因为996的工作周期已经持续好几个月了.每天晚上回家都没有太多精力学习很多其他的东西,而且很多时候是接着完善工作的项目的模块开发.所以博客停歇了这么久,更新率也低了不少,今天补充一 ...
随机推荐
- 【转】Deep Learning(深度学习)学习笔记整理系列之(八)
十.总结与展望 1)Deep learning总结 深度学习是关于自动学习要建模的数据的潜在(隐含)分布的多层(复杂)表达的算法.换句话来说,深度学习算法自动的提取分类需要的低层次或者高层次特征. 高 ...
- 移动 H5(PC Web)前端性能优化指南
原文地址https://zhuanlan.zhihu.com/p/25176904?utm_source=wechat_session&utm_medium=social&utm_me ...
- html5 七巧板
<!DOCTYPE html><html> <canvas id="diag" height="200" width=&qu ...
- MyBatis—mybatis-config.xml配置介绍
在定义sqlSessionFactory时需要指定MyBatis主配置文件: Xml代码 说明: 收藏代码 1. <bean id="sqlSessionFactory" ...
- ng-深度学习-课程笔记-10: 机器学习策略2(Week2)
1 误差分析( Carrying out error analysis ) 假设你训练了一个猫的二分类模型,在开发集上的错误率是10%,你想分析这10%的错误率来自哪里,怎么做呢? 先把这些错分的图片 ...
- bzoj1999 / P1099 树网的核
P1099 树网的核 (bzoj数据加强) 前置知识:树的直径 (并不想贴我的智障写法虽然快1倍但内存占用极大甚至在bzoj上MLE) 正常写法之一:用常规方法找到树的直径,在直径上用尺取法找一遍,再 ...
- UVa 1210 连续素数之和
https://vjudge.net/problem/UVA-1210 题意: 输入整数n,有多少种方案可以把n写成若干个连续素数之和? 思路: 先素数打表,然后求个前缀和. #include< ...
- mac上将代码上传到github以及github对100M以上文件限制上传的处理(lfs)。
前言 有时我们会写一些小程序来学习新的知识,但是完事之后过一段时间可能会忘记,最好的办法就是找到原来的代码看一看.现在可以将代码免费托管到一些网站上,其中最著名的非github莫属了, 今天就把这个过 ...
- 数据模板--DataTemplate
DataTemplate 的 "DataType" 通常就是 “ViewModel” ——视图模型(亦可不恰当称之为:数据模型) <DataTemplate DataType ...
- bzoj 1318 [SPOJ744] Longest Permutation (排列)
大意: 给定序列, 求选出一个长度为k的区间, 使得区间内的数为[1,k]的排列, 且要求k最大 这题好神啊. 每个排列有且仅有一个1, 我们按1将序列分成若干子问题来处理, 而每个位置最多属于两个子 ...