UI控件之UIView与动画
UIView:用来展示用户的界面,响应用户的操作(继承自UIResponder)
UIView的作用:绘图、动画、处理事件
UIView可以包含和管理子视图,并且决定子视图的位置大小
获取所有的子视图(数组)
NSArray *subViews= self.window.subviews;
将子视图放在某个子视图上面
[self.window insertSubview:greenView aboveSubview:yellowView];
将子视图放在某个子视图下面
[self.window insertSubview:greenView belowSubview:blueView];
将子视图放在某个下标位置处
[self.window insertSubview:greenView atIndex:2];
将某个子视图移到最上层
[self.window bringSubviewToFront:redView];
将某个子视图移到最底层
[self.window sendSubviewToBack:blueView];
设置是否允许父视图裁剪子视图(子视图比父视图大时)
blackView.clipsToBounds=YES;
设置是否允许在父视图尺寸变化时自动调整子视图的尺寸
blackView.autoresizesSubviews=YES;
设置子视图的调整模式,自动调整子视图的高度和宽度
topView.autoresizingMask=
UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
获取父视图
UIView *parentView= subView.superview;
将topView从父视图中移除(删除视图topView)
[topView removeFromSuperview];
UIView动画有2种:
属性动画:frame、bounds、center、backgroundColor、alpha、transform
翻转动画:实现方式2种:iOS4.0之前:采用[]设置;iOS4.0之后:采用block实现
1.iOS4.0之前:采用[]设置
开始设置动画,第一个参数是动画名字,第二个参数是对象,一般为nil
[UIView beginAnimations:@"animation" context:nil];
设置动画的持续时间
[UIView setAnimationDuration:1];
设置动画开始的延迟时间
[UIView setAnimationDelay:0];
设置动画重复次数
[UIView setAnimationRepeatCount:1];
设置动画模式
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
UIViewAnimationCurveEaseIn:动画开始时效果缓慢
UIViewAnimationCurveEaseOut:动画结束时效果缓慢
UIViewAnimationCurveEaseInOut:动画开始和结束时效果缓慢
UIViewAnimationCurveLinear:动画的平滑效果
设置代理,采用执行下面2个方法
[UIView setAnimationDelegate:self];
设置动画结束后执行的选择器方法
[UIView setAnimationDidStopSelector:@selector(buttonClick:)];
设置动画开始之前执行的选择器方法
[UIView setAnimationWillStartSelector:@selector(buttonClick:)];
设置图片视图的中心点
imageView.center=CGPointMake(300, 600);
设置图片视图的透明度
imageView.alpha=0.1;
设置缩放比例值
imageView.transform=CGAffineTransformMakeScale(1.5, 1.5);
在imageview原来的transform值基础上宽度高度放大为1.5被再赋给imageview,连续放大
imageView.transform=CGAffineTransformScale(imageView.transform, 1.5, 1.5);
设置旋转动画,每次旋转90度
imageView.transform=CGAffineTransformRotate(imageView.transform, M_PI_2);
动画开始
[UIView commitAnimations];
2.iOS4.0后用block实现属性动画
可以设置动画的持续时间和动画内容
[UIView animateWithDuration:1 animations:^{ }];
设置动画的持续时间、动画内容和动画结束后执行的语句
[UIView animateWithDuration:2 animations:^{} completion:^(BOOL finished) {}];
设置动画持续时间、开始之前的延迟时间、动画效果、动画内容、动画结束后执行的block
[UIView animateWithDuration:2 delay:1 options:UIViewAnimationOptionCurveLinear animations:^{} completion:^(BOOL finished) {}];
设置翻转效果,第一个参数是翻转方向,第二个参数是操作的对象,
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.window cache:YES];
设置翻转动画:第1个参数是操作的对象,第2个参数是持续时间,第3个参数是翻转的方向,第4个参数是动画结束后执行的语句
[UIView transitionWithView:self.window duration:2 options:UIViewAnimationOptionTransitionCurlDown animations:^{
[self.window exchangeSubviewAtIndex:1 withSubviewAtIndex:2];
} completion:^(BOOL finished) {}];
CALayer:层,可以用来渲染图片、制作动画,每创建一个view时,自动创建一个layer,不能重新创建和赋值,但是可以修改某些属性
设置阴影颜色
imageView.layer.shadowColor=[UIColor redColor].CGColor;
设置阴影的偏移量
imageView.layer.shadowOffset=CGSizeMake(10, 10);
设置阴影的透明度,1不透明,0完全透明
imageView.layer.shadowOpacity=0.8;
设置边框的颜色
imageView.layer.borderColor=[UIColor blueColor].CGColor;
设置边框的宽度
imageView.layer.borderWidth=5;
设置圆角半径
imageView.layer.cornerRadius=50;
设置是否允许子视图被裁剪
imageView.clipsToBounds=YES;
UI控件之UIView与动画的更多相关文章
- UI控件(复习一下)
如何修改控件状态• 可见,确实需要经常修改控件状态• 那如何去修改控件的状态呢?方法很简单➢ 每一个UI控件都是一个对象➢ 修改UI控件的状态,其实就是修改控件对象的属性➢ 比如修改UILabel显示 ...
- AppleWatch___学习笔记(二)UI布局和UI控件
1.UI布局 直接开发,你会发现Apple Watch并不支持AutoLayout,WatchKit里有个类叫做WKInterfaceGroup,乍一看像是UIView,但是这货其实是用来布局的.从 ...
- 【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )
转载注明出处 : http://blog.csdn.net/shulianghan/article/details/50348982 一. 日期选择器 (UIDatePicker) UIDatePic ...
- Swift UI控件详细介绍(上)
UI控件 首先介绍一下AppDelegate.swift@UIApplicationMain 调用了OC中的UIApplicationMain函数:UIApplicationMain是iOS应用程序的 ...
- iOS基础UI控件介绍-Swift版
iOS基础UI控件总结 iOS基础控件包括以下几类: 1.继承自NSObject:(暂列为控件) UIColor //颜色 UIImage //图像 2.继承自UIView: 只能相应手势UIGest ...
- ANDROID L——Material Design详解(UI控件)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...
- IOS学习资源收集--开发UI控件相关
收集的一些本人了解过的iOS开发UI控件相关的代码资源(本文持续补充更新) 内容大纲: 1.本人在github上也上传了我分装好的一些可重复利用的UI控件 2.计时相关的自定义UILabel控件 正文 ...
- 《深入理解Windows Phone 8.1 UI控件编程》基于最新的Runtime框架
<深入理解Windows Phone 8.1 UI控件编程>本书基于最新的Windows Phone 8.1 Runtime SDK编写,全面深入地论述了最酷的UI编程技术:实现复杂炫酷的 ...
- [WP8.1UI控件编程]Windows Phone动画方案的选择
8.1 动画方案的选择 Windows Phone的动画实现方式有线性插值动画(3种类型).关键祯动画(4种类型)和基于帧动画,甚至还有定时器动画,然后动画所改变的UI元素属性可以是普通的UI元素属性 ...
随机推荐
- cnetos 6.7彻底解决vmware NAT网络问题
cnetos 6.7彻底解决vmware NAT网络问题 vmnet8在nat时使用 vmnet1 在桥接时使用 *解决Windows不能ping通linux的问题 vmnet8相当于一个网卡,虚 ...
- Trees on the level UVA - 122 复习二叉树建立过程,bfs,queue,strchr,sscanf的使用。
Trees are fundamental in many branches of computer science (Pun definitely intended). Current state- ...
- Elasticsearch5.X IN Windows 10 系列文章(2)
ElasticSearch版本: 5.5.1 (最新稳定版为5.5.2),由于用到IK中文分词插件,最新版本没有5.5.2 ,所以使用5.5.1 日期:2017-08-29 第二章:安装Kibana ...
- 虚拟化笔记05 OpenFiler configuration
5.OpenFiler configuration 登录Openfiler 步骤1:安装 FireFox 步骤2:通过FireFox以HTTPS://server-ip:446 远程访问OpenFil ...
- golang解析xml
解析xml标签或者html标签,都是xml文档格式.要是返回的html标签,可以用第三方依赖库goquery来解析. 下面说下,解析xml标签的格式.直接上代码,代码如下: package main ...
- Servlet 国际化
在我们开始之前,先来看看三个重要术语: 国际化(i18n):这意味着一个网站提供了不同版本的翻译成访问者的语言或国籍的内容. 本地化(l10n):这意味着向网站添加资源,以使其适应特定的地理或文化区域 ...
- 字符设备驱动程序--LED驱动
编写驱动程序需要编写那些代码: 1.硬件相关的驱动程序 2.Makefile的编译程序 3.还需要编写一个相关的测试程序 比如说:一个摄像头驱动程序 1.驱动程序的编写,需要编写一些硬件相关的操作,编 ...
- 【BZOJ4444】[Scoi2015]国旗计划 双指针+倍增
[BZOJ4444][Scoi2015]国旗计划 Description A国正在开展一项伟大的计划——国旗计划.这项计划的内容是边防战士手举国旗环绕边境线奔袭一圈.这项计划需要多名边防战士以接力的形 ...
- 关东升的《iOS实战:图形图像、动画和多媒体卷(Swift版)》上市了
关东升的<iOS实战:图形图像.动画和多媒体卷(Swift版)>上市了 承蒙广大读者的厚爱我的<iOS实战:图形图像.动画和多媒体卷(Swift版)>京东上市了,欢迎广大读者提 ...
- SQL获取某个时间字符串里的月和日,获取某天是周几
select datename(weekday,'2016-11-4') as '周' select convert(varchar,datepart(month,'2016-11-4')) as ' ...