上篇主要介绍了UIView的几个主要属性,分别为frame,bounds,center,transform,本篇通过一个简单的实例来验证这几个属性的功能.软件界面如下: 主要功能:通过界面上的上下左右按钮来移动上面的图片,通过+-来放到缩小图片,下面两个旋转按钮实现 ...
上篇主要介绍了UIView的几个主要属性,分别为frame,bounds,center,transform,本篇通过一个简单的实例来验证这几个属性的功能.
软件界面如下:
主要功能:通过界面上的上下左右按钮来移动上面的图片,通过+-来放到缩小图片,下面两个旋转按钮实现了旋转的功能(transform的应用);复位按钮实现了还原的功能(transform的功能)
界面上显示图片的是一个Button,通过点击图片,会更换图片.
首先附上源代码:
1 // 2 // ViewController.m 3 // 03-常见属性 4 // 5 // Created by hukezhu on 15/5/9. 6 // 7 // 8 9 #import "ViewController.h"10 11 @interface ViewController ()12 /**13 * 图片属性(Button)14 */15 @property (weak, nonatomic) IBOutlet UIButton *head;16 /**17 * 点击按钮响应方法18 */19 -(IBAction)move:(UIButton *)btn;20 21 22 @end23 24 @implementation ViewController25 26 - (void)viewDidLoad {27 [super viewDidLoad];28 }29 -(IBAction)move:(UIButton *)btn{30 31 //CGRect tempframe = self.head.frame;32 33 //将改变的大小提取出来,便于扩展34 CGFloat margin = 80;35 //动画的开始36 [UIView beginAnimations:nil context:nil];37 //设置动画持续时间38 [UIView setAnimationDuration:2.0];39 //根据tag值来获取是哪个按钮点击了40 switch (btn.tag) {41 case 1:42 //tempframe.origin.y -= margin;43 //向上移动44 self.head.transform = CGAffineTransformTranslate(self.head.transform, 0, -margin);45 break;46 47 case 2:48 //tempframe.origin.y += margin;49 //向下移动50 self.head.transform = CGAffineTransformTranslate(self.head.transform, 0, margin);51 break;52 case 3:53 //tempframe.origin.x -= margin;54 //向左移动55 self.head.transform = CGAffineTransformTranslate(self.head.transform, -margin, 0);56 break;57 case 4:58 //tempframe.origin.x += margin;59 //向右移动60 self.head.transform = CGAffineTransformTranslate(self.head.transform, margin, 0);61 break;62 case 5:63 // tempframe.size.height += margin;64 // tempframe.size.width += margin;65 //放大66 self.head.transform = CGAffineTransformScale(self.head.transform, 1.5, 1.5);67 break;68 case 6:69 //tempframe.size.height -= margin;70 //tempframe.size.width -= margin;71 //缩小72 self.head.transform = CGAffineTransformScale(self.head.transform, 0.8, 0.8);73 break;74 case 7:75 //向左旋转(逆时针旋转)76 self.head.transform = CGAffineTransformRotate(self.head.transform, -M_PI_4);77 break;78 case 8:79 //向右旋转(顺时针旋转)80 self.head.transform = CGAffineTransformRotate(self.head.transform, M_PI_4);81 break;82 case 9:83 //复位功能84 self.head.transform =CGAffineTransformIdentity;85 break;86 }87 //self.head.frame = tempframe;88 89 //提交动画(动画结束)90 [UIView commitAnimations];91 }92 93 @end
原标题:UIView常见属性应用实例
关键词:ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。