iOS学习之UIScrollView
- UIScrollView是UIView的子类。
- UIScrollView作为所有滚动视图的基类。
- UIScrollView主要使用在滚动头条(轮播图),相册等常见的功能里。
#define kWidth self.frame.size.width
#define kHeight self.frame.size.height
// 创建一个和屏幕尺寸相同的UIScrollView
self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(, , kWidth, kHeight)];
// 设置背景颜色
self.scrollView.backgroundColor = [UIColor yellowColor];
// 添加到父视图
[self addSubview:self.scrollView];
- UIScrollView用来控制滚动范围的重要属性contentSize,通过这个重要属性设置才可以控制视图的滚动,我们目标铺设3个屏幕宽度的图片,所以我们设置滚动范围是3个屏幕宽度
- contentSize有两个参数,一个是width,另一个是height,分别设置两个值有不同的效果
// 水平方向滚动 self.scrollView.contentSize = CGSizeMake(kWidth * , ); , kHeight * );
//设置UIScrollView的滚动范围之后,接下来用for循环的方式在scrollView平铺3张图片,注意每个imageView的位置
; i < ; i++) {
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake((i - ) * kWidth, , kWidth, kHeight)];
imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@“h%d.jpg”, i]];
[scrollView addSubview:imageView];
}
//通过偏移量的设置可以让指定的视图显示出来(让哪张图片最先显示)
// 直接设置第二个视图显示在屏幕上
self.scrollView.contentOffset = CGPointMake(kWidth, );
//可以让ScrollVIew按页来滚动
self.scrollView.pagingEnabled = YES;
// 关闭水平方向滚动条
self.scrollView.showsHorizontalScrollIndicator = NO;
//关闭垂直方向滚动条
self.scrollView.showsVerticalScrollIndicator = NO;
//关闭边界回弹效果
self.scrollView.bounces = NO;
//设定一个tag值
self.scrollView.tag = ;
// 如果要有水平或垂直的回弹效果 scrollView的滚动范围需要设置为屏幕大小
self.scrollView.alwaysBounceHorizontal = YES;
self.scrollView.alwaysBounceVertical = YES;
- 二、UIScrollView的协议方法
- 一是监控滚动时候的状态。
- 二是控制视图的缩放。
- 触发顺序:BeginDragging->DidEndDragging->BeginDecelerating->DidEndDecelerating
// 设置缩放的最大比例 self.scrollView.maximumZoomScale = ; // 设置缩放的最小比例 self.scrollView.minmumZoomScale = 0.5; // 设置当前的比例 self.scrollView.zoomScale = ;
- 当我们在ViewDidLoad方法里设置好最大和最小的缩放比例这两个属性之后我们就可以对视图进行缩放操作。
iOS学习之UIScrollView的更多相关文章
- iOS学习笔记-精华整理
iOS学习笔记总结整理 一.内存管理情况 1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象.当用户的代码运行告一段 落,开始 ...
- iOS学习笔记总结整理
来源:http://mobile.51cto.com/iphone-386851_all.htm 学习IOS开发这对于一个初学者来说,是一件非常挠头的事情.其实学习IOS开发无外乎平时的积累与总结.下 ...
- 【转】 iOS学习之sqlite的创建数据库,表,插入查看数据
原文: http://blog.csdn.net/totogo2010/article/details/7702207 iOS sqlite数据库操作.步骤是: 先加入sqlite开发库libsql ...
- IOS学习笔记(四)之UITextField和UITextView控件学习
IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...
- 2015最新iOS学习线路图
iOS是由苹果公司开发的移动操作系统,以xcode为主要开发工具,具有简单易用的界面.令人惊叹的功能,以及超强的稳定性,已经成为iPhone.iPad 和iPod touch 的强大基础:iOS 内置 ...
- ios 学习路线总结
学习方法 面对有难度的功能,不要忙着拒绝,而是挑战一下,学习更多知识. 尽量独立解决问题,而不是在遇到问题的第一想法是找人. 多学习别人开源的第三方库,能够开源的库一定有值得学习的地方,多去看别的大神 ...
- iOS学习-压缩图片(改变图片的宽高)
压缩图片,图片的大小与我们期望的宽高不一致时,我们可以将其处理为我们想要的宽高. 传入想要修改的图片,以及新的尺寸 -(UIImage*)imageWithImage:(UIImage*)image ...
- 【原】iOS学习之事件处理的原理
在iOS学习23之事件处理中,小编详细的介绍了事件处理,在这里小编叙述一下它的相关原理 1.UITouch对象 在触摸事件的处理方法中都会有一个存放着UITouch对象的集合,这个参数有什么用呢? ( ...
- iOS学习笔记——AutoLayout的约束
iOS学习笔记——AutoLayout约束 之前在开发iOS app时一直以为苹果的布局是绝对布局,在IB中拖拉控件运行或者直接使用代码去调整控件都会发上一些不尽人意的结果,后来发现iOS在引入了Au ...
随机推荐
- 学习总结 java连接数据库
package com.hanqi.test; import java.sql.*; public class jdbcTest { public static void main(String[] ...
- python函数基础以及函数参数简解
python中函数分为函数.内置函数Python所有的内置函数 自定义函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. ...
- ionic cordova file download and load
1.先添加插件 cordova plugin add org.apache.cordova.file cordova plugin add org.apache.cordova.file-transf ...
- HiveSQL解析过程详解 | 学步园
HiveSQL解析过程详解 | 学步园 http://www.xuebuyuan.com/2210261.html
- 学习STL-介绍一下STL
从大学时就开始学习C++,到现在近5年的时间了却很少用到STL.现在想想真得是对不起这门语言,也对不起宝贵的五年光阴.我钟爱C++,所以一定要完全搞懂它,理解它.爱一个人的前提是要懂他(她),爱一门语 ...
- linux 下安装 搭建 svn服务器
1.下载svn http://subversion.apache.org/download 下载完成后解压,执行 ./configure --prefix=/usr/svn 提示 configure: ...
- Java c3po
1.准备通用类 (引用:c3p0-0.9.1.2.jar) package nankang.test; import java.sql.Connection; import com.mchange.v ...
- EasyUI-Combox
Combox的数据格式和默认选中项设置 [{ "id":1, "text":"text1" },{ "id":2, &q ...
- import static与import的区别
import static(静态导入)是JDK1.5中的新特性,一般我们导入一个类都用 import com.....ClassName;而静态导入是这样:import static com..... ...
- SE11
自省数据及表存储 2014年4月6日 21:37 类似JAVA反射的特性 SAP提供自省数据的机制 这样可以保证程序的灵活性和动态性 1.使用OO中的cl_abap_typed ...