UIScrollView基本用法
来源:互联网 发布:如何查看windows版本 编辑:程序博客网 时间:2024/06/06 00:07
1、UIScrollView可以提供在屏幕尺寸不够的情况下滑动浏览大区域画面
基本用法如下:
- UIScrollView * scrollView = [[UIScrollView alloc] init];
- scrollView.frame = CGRectMake(0, 100, width, height - 300);//UIScrollView大小
- [self.view addSubview:scrollView];
- scrollView.backgroundColor = [UIColor orangeColor];
- UIImage * image = [UIImage imageNamed:@"yuan.png"];
- UIImageView * imageView = [[UIImageView alloc] initWithImage:image];
- [scrollView addSubview:imageView];
- //自动调整宽高
- scrollView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
- scrollView.contentSize = imageView.bounds.size; //重要,这个是设置UIScrollView滚动区域的大小,否则不能滚动
2、滚动条样式:
默认:灰色线包围黑色条
- scrollView.indicatorStyle = UIScrollViewIndicatorStyleDefault;
UIScrollViewIndicatorStyleBlack : 黑色条
UIScrollViewIndicatorStyleWhite : 白色条
样式枚举:
- typedef NS_ENUM(NSInteger, UIScrollViewIndicatorStyle) {
- UIScrollViewIndicatorStyleDefault, // black with white border. good against any background
- UIScrollViewIndicatorStyleBlack, // black only. smaller. good against a white background
- UIScrollViewIndicatorStyleWhite // white only. smaller. good against a black background
- };
3、放大缩小:
须遵守UIScrollViewDelegate协议
- scrollView.delegate = self;
- scrollView.minimumZoomScale = 0.5;
- scrollView.maximumZoomScale = 2.0;
- - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
- for (id subView in scrollView.subviews) {
- if ([subView isKindOfClass:[UIImageView class]]) {
- return subView;
- }
- }
- return nil;
- }
最大放大两倍,最小缩小一倍
4、以页为单位滚动:
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view, typically from a nib.
- self.view.backgroundColor = [UIColor whiteColor];
- CGFloat width = [[UIScreen mainScreen] bounds].size.width;
- CGFloat height = [[UIScreen mainScreen] bounds].size.height;
- UIScrollView * scrollView = [[UIScrollView alloc] init];
- scrollView.frame = CGRectMake(0, 100, width, height - 300);//UIScrollView大小
- [self.view addSubview:scrollView];
- scrollView.backgroundColor = [UIColor orangeColor];
- UIView * view1 = [[UIView alloc] init];
- view1.frame = scrollView.bounds;
- view1.backgroundColor = [UIColor purpleColor];
- [scrollView addSubview:view1];
- UIView * view2 = [[UIView alloc] init];
- view2.frame = CGRectMake(width, 0, width, scrollView.frame.size.height);
- view2.backgroundColor = [UIColor redColor];
- [scrollView addSubview:view2];
- UIView * view3 = [[UIView alloc] init];
- view3.frame = CGRectMake(width * 2, 0, width, scrollView.frame.size.height);
- view3.backgroundColor = [UIColor greenColor];
- [scrollView addSubview:view3];
- scrollView.pagingEnabled = YES;
- scrollView.showsHorizontalScrollIndicator = NO; //隐藏横向滚动条
- scrollView.showsVerticalScrollIndicator = NO; //隐藏竖向滚动条
- scrollView.contentSize = CGSizeMake(width * 3, scrollView.frame.size.height);
- }
5、UIScrollViewDelegate
- @protocol UIScrollViewDelegate<NSObject>
- @optional
- //滚动时调用,可以实时监测滚动变化
- - (void)scrollViewDidScroll:(UIScrollView *)scrollView; // any offset changes
- //实时监测缩放
- - (void)scrollViewDidZoom:(UIScrollView *)scrollView NS_AVAILABLE_IOS(3_2); // any zoom scale changes
- //开始拖动的时候调用
- // called on start of dragging (may require some time and or distance to move)
- - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
- //停止拖动的时候调用(注:停止拖动时,拖动效果会持续一段,慢慢停下)
- // 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 NS_AVAILABLE_IOS(5_0);
- //结束拖动时调用
- // called on finger up if the user dragged. decelerate is true if it will continue moving afterwards
- - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
- //开始减速的时候调用
- - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView; // called on finger up as we are moving
- //结束减速的时候调用
- - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView; // called when scroll view grinds to a halt
- //设置scrollview动画,动画结束后调用
- - (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView; // called when setContentOffset/scrollRectVisible:animated: finishes. not called if not animating
- //返回缩放的可以view,如上例UIImageView
- - (nullable UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView; // return a view that will be scaled. if delegate returns nil, nothing happens
- //开始缩放的时候调用
- - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view NS_AVAILABLE_IOS(3_2); // called before the scroll view begins zooming its content
- //结束缩放的时候调用
- - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view atScale:(CGFloat)scale; // scale between minimum and maximum. called after any 'bounce' animations
- //是否可以拖动到顶部,yes可以否则不可以
- - (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView; // return a yes if you want to scroll to the top. if not defined, assumes YES
- //可以拖动到顶部时,拖动结束后调用
- - (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView; // called when scrolling animation finished. may be called immediately if already at top
- @end
0 0
- UIScrollView 的基本用法
- UIScrollView 基本用法
- UIScrollView 的基本用法
- UIScrollView的基本用法
- UIScrollView基本用法详解
- UIScrollView基本用法
- UIScrollView 基本用法
- UIScrollView的基本用法
- UIScrollView和UIPageView基本用法
- iOS开发 -- UIScrollView基本用法
- UIScrollView基本用法&代理方法
- 10.1 UIScrollview概念和用法:UIScrollview基本属性用法
- UIScrollView的基本用法和简单示例
- UIScrollView基本用法和代理方法
- UIScrollView基本用法和代理方法
- UIScrollView 的基本用法 横向滚动
- UIScrollView基本用法和代理方法
- UIScrollView基本用法和代理方法
- jquery省市区下拉显示
- UVa253 - Cube painting
- 46.KVO监测Model图⽚下载
- hdu 5534 Partial Tree(完全背包)
- IInputConnectionWrapper: showStatusIcon on inactive InputConnection
- UIScrollView基本用法
- openwrt添加自己的应用程序
- Windows Server 2012 打开80端口
- 深入理解dp,px,以及density
- Timer的缺陷 用ScheduledExecutorService替代
- wprintf输出中文
- js:经纬度计算距离算法
- Linux_FTP服务器
- Apache thrift 研究小记