iOS開發之transform

來源:互聯網
上載者:User

標籤:

transform主要應用於動畫

1、讓一個按鈕每次向上移動100的距離

UIButton *head = (UIButton *)[self.view viewWithTag:10];

head.transform = CGAffineTransformTranslate(head.transform, 0, -100);

transform是一個狀態,並不能改變控制項的真實位置(以起始位置為參照,起始位置為(0,0),即真實位置為(0,0)),如果使用CGAffineTransformMakeTranslation(0, -100)就會返回控制項在真實位置上向上移動100像素後的狀態,但真實位置不會改變,當第二次執行head.transform = CGAffineTransformMakeTranslation (0, -100)就不會再有變化了,因為控制項已經在這個狀態了。

2、使按鈕旋轉

UIButton *head = (UIButton *)[self.view viewWithTag:10];

// M_PI_4即4分之pi角度——45°

// 角度是正數:順時針, 角度是負數:逆時針

head.transform = CGAffineTransformRotate(head.transform, M_PI_4);

當旋轉後它的起始x和y座標也會跟著旋轉。同樣也不能使用head.transform = CGAffineTransformMakeRotation(-M_PI_4),原因同上

3、使按鈕縮放

UIButton *head = (UIButton *)[self.view viewWithTag:10];

head.transform = CGAffineTransformScale(head.transform, 1.5, 1.5);

同樣也不能使用head.transform = CGAffineTransformMakeScale(1.5, 1.5),原因同上

iOS開發之transform

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.