UIView控件的一些常用方法和简单动画设置
来源:互联网 发布:南京魔苹网络怎么样 编辑:程序博客网 时间:2024/05/18 01:25
终于步入了ios开发的阶段,首先学习的就是各种UI控件。
自我感觉在界面上的操作与命令行操作相比,是增加了不少趣味的。
下面介绍一些刚刚学到的UIView控件的一些常用方法和简单动画设置。
首先,这是我的界面:
对其中的矩形进行一系列的动作:放大、缩小、旋转、平移、动画等。
说明一下,动画的设置针对控件的frame、bounds、center、transform、alpha、backgroundcolor、contentstetch属性。
主要代码如下:
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutletUIView *transformView;
- (IBAction)scale:(UIButton *)sender;
- (IBAction)rotate:(UIButton *)sender;
- (IBAction)moveAction:(UIButton *)sender;
- (IBAction)backAction:(UIButton *)sender;
- (IBAction)rotateAnimation:(id)sender;
- (IBAction)scaleAnimation:(id)sender;
- (IBAction)alphaAnimation:(id)sender;
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)scale:(UIButton *)sender {
//将所点击的按钮的tag值取出来
NSInteger tag = sender.tag;
//所需改变的视图(即transformView视图)的原始的transform
CGAffineTransform transform =self.transformView.transform;
if (tag == 1) {
//放大
CGAffineTransform t1 = CGAffineTransformScale(transform, 1.2, 1.2);
self.transformView.transform = t1;
}
else if (tag ==2){
//缩小
CGAffineTransform t2 = CGAffineTransformScale(transform, 0.7, 0.7);
self.transformView.transform = t2;
}
}
- (IBAction)rotate:(UIButton *)sender {
CGAffineTransform transform =self.transformView.transform;
//顺时针旋转(每次旋转30度)
CGAffineTransform t = CGAffineTransformRotate(transform, M_PI/6);
self.transformView.transform = t;
}
- (IBAction)moveAction:(UIButton *)sender {
CGAffineTransform transfrom =self.transformView.transform;
CGAffineTransform t =CGAffineTransformTranslate(transfrom, 10,0)
;
self.transformView.transform = t;
}
- (IBAction)rotateAnimation:(id)sender {
//动画开始
[UIViewbeginAnimations:@"rotate"context:nil];
//动画持续时间
[UIViewsetAnimationDuration:1.0];
CGAffineTransform transform =self.transformView.transform;
CGAffineTransform t = CGAffineTransformRotate(transform, M_PI/3);
self.transformView.transform = t;
[UIViewcommitAnimations];//动画结束
}
- (IBAction)scaleAnimation:(id)sender {
[UIViewbeginAnimations:@"scale"context:nil];
[UIViewsetAnimationDuration:0.3];
CGRect frame =self.transformView.frame;
frame.size.height =20;
frame.size.width =10;
frame.origin.x =200;
frame.origin.y =300;
self.transformView.frame = frame;
[UIViewcommitAnimations];
}
- (IBAction)alphaAnimation:(id)sender {
[UIViewbeginAnimations:@"alpha"context:nil];
//动画持续时间
[UIViewsetAnimationDuration:0.6];
//动画重复次数
[UIViewsetAnimationRepeatCount:5];
//动画执行内容:将透明度变为0
self.transformView.alpha =0;
[UIViewcommitAnimations];
}
- (IBAction)backAction:(UIButton *)sender {
//CGAffineTransformIdentity: 还原到最原始的transform状态
self.transformView.alpha =1;
self.transformView.transform =CGAffineTransformIdentity;
}
@end
- UIView控件的一些常用方法和简单动画设置
- iOS-UIView属性动画和常用方法
- UIView常用属性、方法和动画
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- UIView常用的一些方法之setNeedsDisplay和setNeedsLayout
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayou
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- Android adb命令修改配置或属性 adb发送广播
- leetcode 日经贴,Cpp code -Search Insert Position
- 项目一:旱冰场造价
- mybatis 调用mysql存储过程 带输出输入参数
- (Fusions) XmlParser.getXmlData(fusionFile, Fusions.class);
- UIView控件的一些常用方法和简单动画设置
- 手机存储详解
- php转码
- log4j 配置学习
- 有关动画
- 微信公众号号开发指南
- LinkedList的实现原理与总结
- SODBASE CEP学习(十二):规则模板、阈值和用户界面
- android MSM8974 上DeviceTree简介