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与动画的更多相关文章

  1. UI控件(复习一下)

    如何修改控件状态• 可见,确实需要经常修改控件状态• 那如何去修改控件的状态呢?方法很简单➢ 每一个UI控件都是一个对象➢ 修改UI控件的状态,其实就是修改控件对象的属性➢ 比如修改UILabel显示 ...

  2. AppleWatch___学习笔记(二)UI布局和UI控件

    1.UI布局 直接开发,你会发现Apple Watch并不支持AutoLayout,WatchKit里有个类叫做WKInterfaceGroup,乍一看像是UIView,但是这货其实是用来布局的.从 ...

  3. 【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )

    转载注明出处 : http://blog.csdn.net/shulianghan/article/details/50348982 一. 日期选择器 (UIDatePicker) UIDatePic ...

  4. Swift UI控件详细介绍(上)

    UI控件 首先介绍一下AppDelegate.swift@UIApplicationMain 调用了OC中的UIApplicationMain函数:UIApplicationMain是iOS应用程序的 ...

  5. iOS基础UI控件介绍-Swift版

    iOS基础UI控件总结 iOS基础控件包括以下几类: 1.继承自NSObject:(暂列为控件) UIColor //颜色 UIImage //图像 2.继承自UIView: 只能相应手势UIGest ...

  6. ANDROID L——Material Design详解(UI控件)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...

  7. IOS学习资源收集--开发UI控件相关

    收集的一些本人了解过的iOS开发UI控件相关的代码资源(本文持续补充更新) 内容大纲: 1.本人在github上也上传了我分装好的一些可重复利用的UI控件 2.计时相关的自定义UILabel控件 正文 ...

  8. 《深入理解Windows Phone 8.1 UI控件编程》基于最新的Runtime框架

    <深入理解Windows Phone 8.1 UI控件编程>本书基于最新的Windows Phone 8.1 Runtime SDK编写,全面深入地论述了最酷的UI编程技术:实现复杂炫酷的 ...

  9. [WP8.1UI控件编程]Windows Phone动画方案的选择

    8.1 动画方案的选择 Windows Phone的动画实现方式有线性插值动画(3种类型).关键祯动画(4种类型)和基于帧动画,甚至还有定时器动画,然后动画所改变的UI元素属性可以是普通的UI元素属性 ...

随机推荐

  1. Scrapy爬虫入门系列3 将抓取到的数据存入数据库与验证数据有效性

    抓取到的item 会被发送到Item Pipeline进行处理 Item Pipeline常用于 cleansing HTML data validating scraped data (checki ...

  2. datagrid返回记录为0时显示“没有记录”

    datagrid返回记录为0时显示“没有记录”,此问题的 <script>var myview = $.extend({},$.fn.datagrid.defaults.view,{ on ...

  3. 用记事本写的java程序引用jar文件

    1.将须要用的jar文件和java程序复制到同一个文件文件夹下 2.进行编译.编译的命令:javac -cp log4j-1.2.15.jar A.java 3.进行运行.运行的命令:java -cp ...

  4. sqoop-1.4.4安装配置

    环境:redhat6.5 hadoop2.4.1 感谢: http://wenku.baidu.com/view/a9083da8dd3383c4bb4cd274.html注释hbase检查 感谢: ...

  5. &&和&(||和|)区别

    上代码,引出问题 public class Test { private static int j = 0; private static Boolean methodB(int k) { j += ...

  6. Android Studio3.0 配置ButterKnife出错的解决

    需要注意的问题: (1)ButterKnife.bind(this);必须在设置布局之后进行初始化: 官方升级到了8.8.1了 compile 'com.jakewharton:butterknife ...

  7. 转:: 刺鸟:用python来开发webgame服务端(4)

    来源:http://ciniao.me/article.php?id=14 --------------- 刺鸟原创文章,转载请注明出处    前面的工作都已准备就绪,现在我们得来看看服务端怎么和客户 ...

  8. hdu 4262(线段树)

    题目:有一个圈,可以从某个位置取球,给出原有的顺序,有三种操作,左旋一次,右旋一次,取球,要求按顺序取球,问需要操作多少次 显然操作是确定的,每次将目标球旋转过来,找出左旋和右旋操作少的,然后取球. ...

  9. react native的环境搭建中常见问题

    搭建完成android的环境,我们就可以继续我们的react native环境的搭建了. 当然,按照fb的安装流程来完成rn的搭建. http://facebook.github.io/react-n ...

  10. 【BZOJ4716】假摔 二分+暴力

    [BZOJ4716]假摔 Description [题目背景] 小Q最近喜欢上了一款游戏,名为<舰队connection>,在游戏中,小Q指挥强大的舰队南征北战,从而成为了一名dalao. ...