日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UIView的旋转iOS开发

發布時間:2023/11/29 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UIView的旋转iOS开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

更多閱讀請訪問http://www.hopean.com

有關UIView坐標變換的,但是經常不能得到自己想要的效果,今天就把它仔細研究了下。記下來等以后忘記的時候再復習

重寫shouldAutorateToInterfaceOrientation:,限制某個方向會改變原點的位置,原點會一直保持在左上角,但已經不是原來的左上角了

?

setStatusBarOrientation.改變狀態欄的方向。它不會改變原點的位置,但會改變鍵盤的方向

旋轉前self.myviewframe ={0,0,320,50}

CGAffineTransform at =CGAffineTransformMakeRotation(M_PI/2);

[self.myview?setTransform:at];

旋轉后frame={135,-135,50,320},視圖的所有像素旋轉90

坐標是相對于父視圖的

?

假如view已經轉成豎的,這時通過設置frame而不是通過setTransform強制成橫的話,會截掉部分圖像

更多閱讀請訪問http://www.hopean.com?

坐標多次變換的合成,要以被變換的view的局部坐標系為參照,比如

testView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)]; UILabel*label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 20)]; label.text =@"Test"; label.tag=100; [testView addSubview:label]; 此時的 frame ={0,0,320,50}

CGAffineTransform at =CGAffineTransformMakeRotation(M_PI/2);先順時鐘旋轉90 at =CGAffineTransformTranslate(at,200,0);, [self.testView setTransform:at];

此時的?frame ={135,65,50,320},可以看到寬高已經反過來了,view中的像素方向也改變了,而如果只是用setFrame來改變寬高的話是不會改變像素方向的

更多閱讀請訪問http://www.hopean.com

文章出處:http://www.cnblogs.com/pengyingh/articles/2382099.html

http://www.hopean.com

轉載于:https://www.cnblogs.com/hopeanCom/archive/2012/11/28/2845448.html

總結

以上是生活随笔為你收集整理的UIView的旋转iOS开发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。