iOS CGAffine Transform属性

transform一般用来让对象进行旋转,缩放和移动等操作,常用的transform结构体方法分两大类:(1)创建“基于控件基础位置”的变化

CGAffineTransformMakeScale(1.5, 1,5); 缩放

CGAffineTransformMakeRotation(M_PI);旋转

CGAffineTransformMakeTranslation();平移

(2)创建“基于transform参数”的形变

- (void)viewDidLoad {

[super viewDidLoad];

//    UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];

self.imageV = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];

self.imageV.image = [UIImage imageNamed:@"gay.jpg"];

[self.view addSubview:self.imageV];

//设置高亮

//创建向上按钮

UIButton *topBtn = [UIButton buttonWithType:UIButtonTypeCustom];

topBtn.frame= CGRectMake(100, 250, 40, 40);

[topBtn setBackgroundImage:[UIImage imageNamed:@"shang.png"] forState:UIControlStateNormal];

[self.view addSubview:topBtn];

[topBtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];

topBtn.tag = 1;

//创建向下按钮

UIButton *downBtn = [UIButton buttonWithType:UIButtonTypeCustom];

downBtn.frame = CGRectMake(100, 350, 40, 40);

[downBtn setBackgroundImage:[UIImage imageNamed:@"xia.png"] forState:UIControlStateNormal];

[self.view addSubview:downBtn];

[downBtn setTag:2];

[downBtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];

//zuo

UIButton *leftBtn = [UIButton buttonWithType:UIButtonTypeCustom];

leftBtn.frame = CGRectMake(50  , 300, 40, 40);

[leftBtn setBackgroundImage:[UIImage imageNamed:@"zuo.png"] forState:UIControlStateNormal];

[self.view addSubview:leftBtn];

[leftBtn setTag:4];

[leftBtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];

//you

UIButton *rightBtn = [UIButton buttonWithType:UIButtonTypeCustom];

rightBtn.frame = CGRectMake(150, 300, 40, 40);

[rightBtn setBackgroundImage:[UIImage imageNamed:@"you.png"] forState:UIControlStateNormal];

[self.view addSubview:rightBtn];

[rightBtn setTag:3];

[rightBtn addTarget:self action:@selector(Click:) forControlEvents:UIControlEventTouchUpInside];

//放大按钮

UIButton *plusBtn = [UIButton buttonWithType:UIButtonTypeCustom];

plusBtn.frame = CGRectMake(75, 400, 40, 40);

[plusBtn setBackgroundImage:[UIImage imageNamed:@"plus"] forState:UIControlStateNormal];

[plusBtn setTag:1];///???????

[self.view addSubview:plusBtn];

[plusBtn addTarget:self action:@selector(Zoom:) forControlEvents:UIControlEventTouchUpInside];

//缩小按钮

UIButton *minusBtn = [UIButton buttonWithType:UIButtonTypeCustom];

minusBtn.frame = CGRectMake(120, 400, 40, 40);

[minusBtn setBackgroundImage:[UIImage imageNamed:@"minus"] forState:UIControlStateNormal];

[self.view addSubview:minusBtn];

[minusBtn setTag:0];

[minusBtn addTarget:self action:@selector(Zoom:) forControlEvents:UIControlEventTouchUpInside];

//左旋转

UIButton *leferRotateBtn = [UIButton buttonWithType:UIButtonTypeCustom];

leferRotateBtn.frame = CGRectMake(175, 400, 40, 40);

[leferRotateBtn setBackgroundImage:[UIImage imageNamed:@"zuozhuan"] forState:UIControlStateNormal];

[self.view addSubview:leferRotateBtn];

[leferRotateBtn addTarget:self action:@selector(rotate:) forControlEvents:UIControlEventTouchUpInside];

leferRotateBtn.tag = 100;

//右旋转

UIButton *rightRotateBtn = [UIButton buttonWithType:UIButtonTypeCustom];

rightRotateBtn.frame = CGRectMake(225, 400, 40, 40);

[rightRotateBtn setBackgroundImage:[UIImage imageNamed:@"youzhuan"] forState:UIControlStateNormal];

[self.view addSubview:rightRotateBtn];

rightRotateBtn.tag = 101;

[rightRotateBtn addTarget:self action:@selector(rotate:) forControlEvents:UIControlEventTouchUpInside];

}

- (void)rotate:(UIButton *)sender

{

if (sender.tag == 100) {

//逆时针

self.imageV.transform = CGAffineTransformRotate(self.imageV.transform, -M_1_PI);

}

else

{

self.imageV.transform = CGAffineTransformRotate(self.imageV.transform, M_1_PI);

}

}

- (void)Zoom:(UIButton *)sender

{

//使用bounds,以中心点为原点进行缩放

CGRect bounds = self.imageV.bounds;

if (sender.tag) {

bounds.size.height += 30;

bounds.size.width  += 30;

}else

{

bounds.size.height  -= 50;

bounds.size.width  -= 50;

}

//设置首尾动画

[UIView beginAnimations:nil context:nil];

self.imageV.bounds = bounds;

[UIView setAnimationDuration:2.0];

[UIView commitAnimations];

}

-(void)Click:(UIButton *)sender

{

NSLog(@"CLICK a");

CGPoint center = self.imageV.center;

switch (sender.tag) {

case 1:

center.y -= 30;

NSLog(@"%ld",(long)sender.tag);

break;

case 2:

center.y += 30;

break;

case 3:

center.x += 50;

break;

case 4:

center.x -= 50;

break;

default:

break;

}

[UIView beginAnimations:nil context:nil];

self.imageV.center = center;

[UIView setAnimationDuration:2.0];

[UIView commitAnimations];

}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容