iOS基础之UIScrollView(滚动视图)
2016-02-21 19:38
459 查看
UIScrollView主要针对于图片的滚动,相册等一些功能。
代码演示:
创建UIScrollView:
使其具有滚动功能:
循环放入图片:
设置一些相关属性:
对ScrollView上的图片进行缩放:
在缩放之后,我们发现重新滑动的时候,发现图片不能恢复原来的大小,这样会影响美观,所以在这之前我们还要做这一步操作:
这一步是UIScrollView的协议方法,协议中还有其他方法:
这样就完成了。
代码演示:
创建UIScrollView:
使其具有滚动功能:
//水平方向滚动 scrollView.contentSize = CGSizeMake(WIDTH * 7,0); //垂直方向滚动 scrollView.contentSize = CGSizeMake(0,7 * HEIGHT);
循环放入图片:
设置一些相关属性:
//让scrollView按页来滚动 scrollView.pagingEnabled = YES; //关闭水平方向滚动条 scrollView.showsHorizontalScrollIndicatour = NO; //关闭垂直方向滚动条 scrollView.showsVerticalScrollIndicator = NO; //关闭边界回弹效果 scrollView.bounces = NO;
对ScrollView上的图片进行缩放:
//设置缩放比例以及设置代理对象 smallScroll.delegate = self; smallScroll.minimumZoomScale = 0.2; smallScroll.maximumZoomScale = 2.0; //指定缩放的视图 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{ //return [scrollView.subviews firstObject]; return [scrollView.subviews objectAtIndex:0]; } //中心点缩放 - (void)scrollViewDidZoom:(UIScrollView *)scrollView{ UIImageView *imageV = [scrollView.subviews firstObject]; if (scrollView.zoomScale <= 1.0) { imageV.center = CGPointMake(kWidth / 2, kHeight / 2); } }
在缩放之后,我们发现重新滑动的时候,发现图片不能恢复原来的大小,这样会影响美观,所以在这之前我们还要做这一步操作:
//减速结束,也就是停止滚动 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ for (UIScrollView *sView in scrollView.subviews){ // 在根据子类的对象类型进⾏行判断 if ([sView isKindOfClass:[UIScrollView class]]){ // 把视图的尺寸恢复到原有尺⼨寸 sView.zoomScale = 1.0; } } }
这一步是UIScrollView的协议方法,协议中还有其他方法:
这样就完成了。
相关文章推荐
- JAVA UUID 生成
- KVC之-(void)setValue:(id)value forUndefinedKey:(NSString *)key
- - (void)setValue:(id)value forKey:(NSString *)key方法,实现原理与验证
- deque双向队列(转)
- 303. Range Sum Query - Immutable
- Request.getRequestURL
- iOS 限制UITextfield的字数
- UI控件(UIScrollView)
- 非UI线程处理Bitmap(官方文档)
- IOS开发之UIAlertController
- 常见的交互设计方法
- UESTC482-Charitable Exchange-bfs优先队列
- Max Sum of Max-K-sub-sequence(单调队列)
- UESTC1013-我的魔法栈-模拟/排列组合
- ZOJ-3210-A Stack or A Queue?【6th浙江省赛】
- 引用com.sencha.gxt.ui.GXT加载错误解决方案
- 虚幻UE4碰撞系统
- ios8 UITableView设置 setSeparatorInset UIEdgeInsetsZero不起作用的解决办法(去掉15px空白间距)
- 触摸事件以及UITouch UIEvent
- Qt Question List