OC的frame、center、transform
来源:互联网 发布:无锡源石数据招聘骗局 编辑:程序博客网 时间:2024/05/22 03:41
//
// ViewController.m
// 08085按钮操作复习
//
// Created by weibiao on 15-8-8.
// Copyright (c) 2015年 weibiao. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
}
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
}
- (IBAction)transform:(id)sender {
/*
第一种:以frame来进行变换
//动画头部
[UIView beginAnimations:nil context:nil];
//设置动画时间
[UIView setAnimationDuration:1.0];
//不能对UIButton的frame直接操作
CGRect tempRect = _header.frame;
//sender是id类型,不能用点语法,只能用getter语法
switch ([sender tag]) {
case 1:
tempRect.origin.y-=kTranslation;
break;
case 2:
tempRect.origin.x+=kTranslation;
break;
case 3:
tempRect.origin.y+=kTranslation;
break;
case 4:
tempRect.origin.x-=kTranslation;
break;
default:
break;
}
// if ([sender tag] == 1){//进行上移
// tempRect.origin.y = tempRect.origin.y-kTranslation;
// }
// else if ([sender tag] == 2){
// tempRect.origin.x = tempRect.origin.x - kTranslation;
// }
// else if ([sender tag] == 3){
// tempRect.origin.y = tempRect.origin.y + kTranslation;
// }
// else if ([sender tag] == 4){
// tempRect.origin.x = tempRect.origin.x + kTranslation;
// }
_header.frame = tempRect;
[UIView commitAnimations];
*/
/*第二种:以center属性来进行变换
*/
//center属性是一个中心点,需要设置一个CGPoint对象
CGPoint p =_header.center;//CGPoint是一个结构体,不需要用*
//设置动画
[UIViewbeginAnimations:nilcontext:nil];//动画头部,属于类方法
// [UIView setAnimationDelay:2.0];//setAnimationDelay:方法是延迟动作执行时间
// [UIView setAnimationBeginsFromCurrentState:NO];//作用待查
// [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];//作用待查
// [UIView setAnimationDelegate:nil];//作用待查
[UIViewsetAnimationDuration:1.0];
[UIViewsetAnimationRepeatAutoreverses:YES];
[UIViewsetAnimationRepeatCount:2];//一个动作重复执行多次
[UIViewsetAnimationsEnabled:YES];//待查
switch ([sender tag]) {
case 1:
p.y -=40;
break;
case 2:
p.x +=40;
break;
case 3:
p.y+=40;
break;
case 4:
p.x-=40;
break;
default:
break;
}
self.header.center = p;
[UIViewcommitAnimations];
return ;
}
- (IBAction)rotation:(id)sender {
// [sender superview];获得父控件对象
// NSLog(@"%@",[sender superview]);
// self.header.transform = CGAffineTransformMakeRotation(M_PI_4);
//设置动画
[UIViewbeginAnimations:nilcontext:nil];
[UIViewsetAnimationDuration:1.0];
switch ([sender tag]) {
case 1:
self.header.transform =CGAffineTransformRotate(self.header.transform, -M_PI_4);
break;
case 2:
self.header.transform =CGAffineTransformRotate(self.header.transform,M_PI_4);
default:
break;
}
// self.header.transform = CGAffineTransformRotate(self.header.transform, M_PI_4);
if ([sender tag] ==3) {
self.header.transform = CGAffineTransformScale(self.header.transform,0.8, 0.8);
}
else if ([sendertag] == 4) {
self.header.transform =CGAffineTransformScale(self.header.transform,1.2, 1.2);
}
[UIViewcommitAnimations];
}
@end
- OC的frame、center、transform
- frame、center、bounds、transform的使用
- iOS frame,bound,center,transform的区别
- frame | center |bounds |transform
- frame,center,bounds,transform的使用简单的动画执行
- transform和frame bounds center的混合开发
- OC-UI-002.按钮的属性frame、bounds、center
- IOS开发 深入坐标系frame,bounds,center,transform的作用于之间的联系
- IOS开发之深入坐标系frame、bounds、center、 transform的不同与联系
- IOS开发之深入坐标系frame、bounds、center、 transform的不同与联系
- OC-手势&变形&坐标系bounds、frame、center
- iOS中frame、bound、center以及transform属性
- frame、bounds、center的区别
- frame\bounds\center的区别
- frame\center\bounds的区别
- frame,bounds,center的几个关系
- Frame,Bounds的区别,center属性
- frame、bounds和center的使用场景
- Ubuntu下忘记MySQL root密码解决方法
- 克鲁斯卡尔求最小生成树
- poj 3171 rmq+dp
- JS写一个函数输出今天的日期
- jQuery的AJax异步加载片段
- OC的frame、center、transform
- ios平台的一些特性
- (九)面向对象的设计原则之五
- js实现的一个lru缓存
- 火星坐标、偏移、加偏和纠偏、无偏的理解--gps纠偏专业技术
- Ubuntu12.04 apt-get 使用公司代理进行上网的设置
- JAVA实现字符串表达式求值
- 初识JAVA项目
- hdu 1503 Advanced Fruits