UI学习笔记---第七天
UIScrollView 滚动视图
UIScrollView的常用属性
iPone屏幕大小限制了内容的显示,UIScrollView 类提供了屏幕滚动功能
UIScrollView是所有滑动视图的基类,UItableView , UITextView等视图都是继承于此类
使用场景:显示不下(单张大图),内容太多(图文混排),需要滚动,滚动头条(图片),相册等
UIScrollView的常用常用属性
contentSize //定义内容区域⼤小,决定是否能够滑动
contentOffset //屏幕左上⾓距离坐标原点的偏移量
scrollsToTop //滑动到顶部(点状态条的时候)
pagingEnabled //是否整屏翻动
bounces //边界是否回弹
scrollEnabled //判断控件是否能够滚动
showsHorizontalScrollIndicator //控制是否显⽰示⽔水平⽅方向的滚动条
showVerticalScrollIndicator //控制是否显⽰示垂直⽅方向的滚动条
alwaysBounceVertical //控制垂直⽅方向遇到边框是否反弹
alwaysBounceHorizontal //控制⽔水平⽅方向遇到边框是否反弹
UIScrollView还支持处理缩放的动作,比如图片的缩小或者地图
UIScrollView的缩放常用属性
minimumZoomScale // 缩小的最⼩⽐例
maximumZoomScale //放大的最⼤比例
zoomScale //设置变化比例
zooming //判断是否正在进⾏缩放反弹
bouncesZoom //控制缩放的时候是否会反弹
UIScrollView代理方法
UIPageControl
用于指示当前第几页(代码) 通常与UIScrollView 配合使用
currentPage //当前页 numberOfPages //指定页面的个数
UIPageControl父类是UIControl可以和button一样添加事件,只不过事件触发使用的不是UIControlEventsTouchUpInside而是 UIControlEventsValueChanged
通常情况下UIPageControl与UIScrollView配合使用
//根视图控制器中代码,[UIColor randomColor]为扩展UIColor的分类
#import "RootViewController.h"
#import "UIColor+NewColor.h"
@interface RootViewController () @end @implementation RootViewController
- (void)exchange:(UIPageControl *)page
{
//[self]
NSLog(@"%d",page.currentPage);//当前第几页,从0开始
//原点变化,scroll中得label也跟着切换
[_scroll setContentOffset:CGPointMake(*page.currentPage, ) animated:YES];
// _scroll.contentOffset = CGPointMake(100*page.currentPage, 0);
}
//给定某个视图进行缩放
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return [scrollView.subviews objectAtIndex:]; }
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
_page.currentPage = scrollView.contentOffset.x/;
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
} - (void)viewDidLoad
{
[super viewDidLoad]; //创建scrollview视图
_scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(, , , )];
//设置背景颜色
_scroll.backgroundColor = [UIColor redColor];
_scroll.contentSize = CGSizeMake(, );
_scroll.pagingEnabled = YES;//一次划一屏
// scroll.scrollsToTop = YES;//点击状态栏,跳转到scrollview的最上面
// scroll.bounces = YES;//设置到边界的时候是否回弹
// scroll.scrollEnabled = NO; //判断控件是否能够滚动
// scroll.showsHorizontalScrollIndicator = YES;//控制是否显示水平方向的滚动条
// scroll.contentOffset = CGPointMake(100, 200);//初始状态,显示哪一个label
//缩放中影响contentsize大小,缩放后不能移动
//最小缩放比例
// scroll.minimumZoomScale = 0.2;//缩小02.倍
//最大缩放比例
// scroll.maximumZoomScale = 5;//扩大5倍
_scroll.delegate = self;//让控制器成为delegate处理一些事务
[self.view addSubview:_scroll]; for (int i = ; i<; i++) {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(*i, , , )];
label.backgroundColor = [UIColor randomColor];
label.text = [NSString stringWithFormat:@"第%d行",i+];
label.textAlignment = NSTextAlignmentCenter;
[_scroll addSubview:label];
[label release]; } [_scroll release]; _page = [[UIPageControl alloc] initWithFrame:CGRectMake(, , , )];
_page.backgroundColor = [UIColor orangeColor];
_page.numberOfPages = ;
// page.currentPage = 3;
[_page addTarget:self action:@selector(exchange:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:_page];
[_page release];
// Do any additional setup after loading the view.
}
UI学习笔记---第七天的更多相关文章
- opencv学习笔记(七)SVM+HOG
opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...
- VSTO学习笔记(七)基于WPF的Excel分析、转换小程序
原文:VSTO学习笔记(七)基于WPF的Excel分析.转换小程序 近期因为工作的需要,要批量处理Excel文件,于是写了一个小程序,来提升工作效率. 小程序的功能是对Excel进行一些分析.验证,然 ...
- Python学习笔记(七)
Python学习笔记(七): 深浅拷贝 Set-集合 函数 1. 深浅拷贝 1. 浅拷贝-多层嵌套只拷贝第一层 a = [[1,2],3,4] b = a.copy() print(b) # 结果:[ ...
- .NET MVC 学习笔记(七)— 控制input控件
.NET MVC 学习笔记(七)— 控制input控件 画面中有时候需要输入数字,这时就需要控制input的输入.以下为保留两位有效数字. /* * 初始化数字输入 */ function initD ...
- 汇编入门学习笔记 (七)—— dp,div,dup
疯狂的暑假学习之 汇编入门学习笔记 (七)-- dp.div.dup 參考: <汇编语言> 王爽 第8章 1. bx.si.di.和 bp 8086CPU仅仅有4个寄存器能够用 &qu ...
- React学习笔记(七)条件渲染
React学习笔记(七) 六.条件渲染 使用if或条件运算符来创建表示当前状态的元素. 可以使用变量来存储元素.比如: let button = null; if (isLoggedIn) { but ...
- UFLDL深度学习笔记 (七)拓扑稀疏编码与矩阵化
UFLDL深度学习笔记 (七)拓扑稀疏编码与矩阵化 主要思路 前面几篇所讲的都是围绕神经网络展开的,一个标志就是激活函数非线性:在前人的研究中,也存在线性激活函数的稀疏编码,该方法试图直接学习数据的特 ...
- Java NIO 学习笔记(七)----NIO/IO 的对比和总结
目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...
- 【转】Pandas学习笔记(七)plot画图
Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...
随机推荐
- WordPress的神器
导读 Markdown 是一种简单的标记语言,旨在帮助你花费更小的代价来格式化纯文本文档.在 WordPress 下你可以使用 HTML 或者可视化编辑器来格式化你的文档,但是使用 markdown ...
- ubuntu连接Android调试
从这周开始尝试Android开发,记下点滴. 安装JDK.下载ADT不说,连接手机调试的时候出错,一堆问号??????????.网上一查,属于典型错误.试下来,有几步比较关键,容易忽视: 1.我机器上 ...
- NOIP 2013 提高组 day1 T2 火柴排队 归并 逆序对
描述 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度.现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为:∑i=1n(ai−bi)2∑i=1n(ai−bi) ...
- IT公司100题-3-求数组的最大子序列的和
问题描述: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n). 例如输入的数组为1, -2 ...
- C++-前缀和后缀
1,c++规定后缀形式的++操作符有一个int行的参数,被调用时,编译器自动加一个0作为参数给他 2,前缀返回一个reference,后缀返回一个const对象 /////////////////// ...
- UITextView实现图文混排效果
用UITextView实现图文混排效果的展示,首先要禁用UITextView的编辑功能,将属性editable设置为NO 1.首先创建一个NSTextAttachment对象,这个对象有一个image ...
- 使用icon替换你的网页图标(转)
第一次使用 Font Awesome 发现相当的爽呀!它的图标很全,能够帮你节约时间去找图片.下面就来一起学习吧: 1: 去官方网站下载解压 http://fontawesome.io/ 2: 解压后 ...
- (转)ASP.NET(C#) 读取EXCEL ——另加解决日期问题
使用OLEDB可以对excel文件进行读取,我们只要把该excel文件作为数据源即可. 一 在D盘创建excel文件test.xls: 二 将工作表Sheet1的内容读取到DataSet string ...
- 使用iskindofclass来发现对象是否是某类或其子类的实例
发现对象是否是特定类或其子类的实例 要发现对象是否是某类或其子类的实例,请在对象上调用 isKindOfClass: 方法.当应用程序需要发现其响应的消息(实现的或继承的),它有时进行以上的检查. s ...
- 深入分析:Android中app之间的交互(二,使用ComponentName)
在前一篇相关主题的博文中我们了解了如何使用Action来启动当前应用之外的Activity处理我们的业务逻辑,在本篇笔记中我在简单介绍一下使用ComponentName来与当前应用之外的应用进行交互. ...