UIView的旋转iOS开发
更多閱讀請訪問http://www.hopean.com
有關UIView坐標變換的,但是經常不能得到自己想要的效果,今天就把它仔細研究了下。記下來等以后忘記的時候再復習
重寫shouldAutorateToInterfaceOrientation:,限制某個方向會改變原點的位置,原點會一直保持在左上角,但已經不是原來的左上角了
?
setStatusBarOrientation.改變狀態欄的方向。它不會改變原點的位置,但會改變鍵盤的方向
旋轉前self.myview的frame ={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开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最近老是梦到前夫怎么回事
- 下一篇: 记一次索引构建问题