iOS CGAffine Transform屬性

transform一般用來(lái)讓對(duì)象進(jìn)行旋轉(zhuǎn)退个,縮放和移動(dòng)等操作语盈,常用的transform結(jié)構(gòu)體方法分兩大類(lèi):(1)創(chuàng)建“基于控件基礎(chǔ)位置”的變化

CGAffineTransformMakeScale(1.5, 1,5); 縮放

CGAffineTransformMakeRotation(M_PI);旋轉(zhuǎn)

CGAffineTransformMakeTranslation()缰泡;平移

(2)創(chuàng)建“基于transform參數(shù)”的形變

- (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];

//設(shè)置高亮

//創(chuàng)建向上按鈕

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;

//創(chuàng)建向下按鈕

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];

//左旋轉(zhuǎn)

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;

//右旋轉(zhuǎn)

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) {

//逆時(shí)針

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,以中心點(diǎn)為原點(diǎn)進(jìn)行縮放

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;

}

//設(shè)置首尾動(dòng)畫(huà)

[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];

}


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末泼返,一起剝皮案震驚了整個(gè)濱河市绅喉,隨后出現(xiàn)的幾起案子叫乌,更是在濱河造成了極大的恐慌,老刑警劉巖憨奸,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件膀藐,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡额各,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)麻诀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人蝇闭,你說(shuō)我怎么就攤上這事±裾蹋” “怎么了逻悠?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)单旁。 經(jīng)常有香客問(wèn)我饥伊,道長(zhǎng),這世上最難降的妖魔是什么琅豆? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任趋距,我火速辦了婚禮,結(jié)果婚禮上节腐,老公的妹妹穿的比我還像新娘。我一直安慰自己饱苟,他們只是感情好狼渊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著城须,像睡著了一般米苹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蘸嘶,一...
    開(kāi)封第一講書(shū)人閱讀 51,155評(píng)論 1 299
  • 那天陪汽,我揣著相機(jī)與錄音挚冤,去河邊找鬼赞庶。 笑死,一個(gè)胖子當(dāng)著我的面吹牛尘执,可吹牛的內(nèi)容都是我干的宴凉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼丧靡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼籽暇!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起戒悠,我...
    開(kāi)封第一講書(shū)人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤绸狐,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后寒矿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拆融,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年镜豹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片趟脂。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡搞旭,死狀恐怖菇绵,靈堂內(nèi)的尸體忽然破棺而出镇眷,到底是詐尸還是另有隱情,我是刑警寧澤永乌,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布具伍,位于F島的核電站,受9級(jí)特大地震影響人芽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜橄抹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一惕味、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧名挥,春花似錦、人聲如沸禀倔。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)捎谨。三九已至,卻和暖如春涛救,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背检吆。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工蹭沛, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留章鲤,地道東北人咆贬。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像掏缎,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沪哺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容