欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

iphone旋轉響應的方法

2015-05-12 16:17:12 1052瀏覽

      我們都知道,在iPhone/iPad應用程序開發(fā)中會涉及到旋轉問題,當 然,旋轉問題的處理在某方面來說是比較煩的工作,這倒不是因為有多復雜,只是不太好控制。特別時xib和代碼同時進行操作將會使問題更加復雜話。所以在進 行旋轉處理時的第一點建議就時盡量采取xib或者代碼操作中的一種,不到萬不得已就不要兩種方式同時使用了。當然其實對與這樣的事情是沒什么萬不得已的。

 

        旋轉控制的第一步就是必須要讓你的應用支持旋轉功能,為了保證自己的代碼能夠支持旋轉,我們必須首先處理一個函數(shù):

1.     - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

2.     return YES;

3.     }

復制代碼

 

      這個函數(shù)時用來確定我們的應用所支持的旋轉方向。如果想要支持每個方向則直接返回YES就行。完成了這一步,我們就可以根據所支持的方向來處理旋轉問題了。這里我們首先來看看可以用來支持旋轉的函數(shù):

1.     -(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

2.     }

3.     -(void)willAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

4.     }

5.     -(void)willAnimateSecondHalfOfRotationFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation duration:(NSTimeInterval)duration {

6.     }

7.     -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

8.     }

9.     -(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {

10.  }

11.  -(void)didAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {

12.  }

復制代碼

 

       這些函數(shù),都可以用來支持旋轉,當然這些旋轉函數(shù)中存在這一定的相互制約關系,亦即有些旋轉函數(shù)是不能同時存在的(這只是我在做的過程中所遇到的,具體怎樣一種制約關系這里就不說了)。

 

      接下來就我們將開始旋轉處理的問題了,在具體到每一個函數(shù)之前,先說一個問 題,就是關于各種view的自動適應問題,前面說過盡量保證不要在xib和代碼中同時處理,這里還要說一下,如果要手動控制位置的話也不要通過代碼設置自 適應大小,如果這樣可能會導致支持旋轉的函數(shù)在設置好位置后有因為自適應而再次對大小進行調整而造成不可控制。

 

接下來可以來探討上面的幾個函數(shù)的用法了。

1.     -(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

2.     }

復制代碼

 

        這個函數(shù),執(zhí)行在旋轉方向發(fā)生改變時,但有個問題,自己多次對這個函數(shù)進行測試,其frame都是以豎屏方式,只是他的statusBarOrientation的方向發(fā)生了變化。其方向與將要旋轉到的方向時保持一致的。

 

      對于其他的函數(shù)自己可以通過輸出statusBarOrientation和frame的方式來獲知其執(zhí)行時間當然還可以和其他幾個支持旋轉的函數(shù)一起配合著使用來知道其執(zhí)行順序。

        下面該說 說對旋轉的處理了,由于每個支持旋轉的函數(shù)在其執(zhí)行是的方向和frame的不同我們就必須根據我們的需要來確定了,甚至在某些函數(shù)下不能通過 self.view的frame的參數(shù)值來設置,因為在旋轉過程中self.view的frame值是不可靠的。所以我們可以通過設置定值的方式來處理, 但是這種方式并不方便。不過對于特定的處理是比較可靠的。

 

       對于要處 理的東西特別多的我們可以通過繼承的方式來實現(xiàn),通過把子view放在繼承中實現(xiàn),并通過在子view中實現(xiàn)layoutSubviews函數(shù)來實現(xiàn)旋轉 后的位置布局是比較好的。但是這里要說明,如果我們要是調整的位置可控建議不要在使用繼承下來的類中對該類的view使用自適應方式,而通過在旋轉的函數(shù) 中來設置其frame的大小,這樣就可以保證在我們自定義類的對向在我們想要的時刻來調整他的frame。若時設置了只適應大小,這將導致我們 layoutSubviews函數(shù)并不一定時在我們調整了他的frame之后才執(zhí)行,而是在它通過自適應方式調整了大小之后就執(zhí)行。

 


 

標簽:

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部