引言:
iphone的橫屏豎屏針對ios系統版本分為兩種開發方式: 一種是ios 6之前的使用模式 一種是ios6的新模式. 兩者的區別還是蠻大的.
使用:支援自動旋轉?
ios6之前通常使用 shouldautorotatetointe***ceorientation 來單獨控制某個uiviewcontroller的方向,需要哪個viewcontroller支援旋轉,只需要重寫shouldautorotatetointe***ceorientation方法。如下示例,設定以後,螢幕被旋轉時只支援橫屏轉換:
[csharp]
- (bool)shouldautorotatetointe***ceorientation:(uiinte***ceorientation)inte***ceorientation
ios6之後使用如下兩個方法控制自動旋轉,分別是:
[csharp]
- (bool)shouldautorotate
- (nsuinteger)supportedinte***ceorientations
那麼在自動旋轉觸發後,系統會自動呼叫另外兩個方法:
[csharp]
- (void)willrotatetointe***ceorientation:(uiinte***ceorientation)tointe***ceorientation duration:(nstimeinterval)duration
- (void)didrotatefrominte***ceorientation:(uiinte***ceorientation)frominte***ceorientation
2:讓程式第一次啟動時立刻顯示橫屏還是豎屏的方式 此處
如果是ios6之前,下面設定的裝置支援方向可在應用裡面再被修改
如果是ios6以後,會做為硬性條件,也就是如果設定了以後,應用裡面的**也無法再使用這個方向
3:傳說中的私有api實現切換viewcontroller強制橫屏的方式
[csharp]
if ([[uidevice currentdevice] respondstoselector:@selector(setorientation:)])
4:使用xib進行介面設計時,改變xib的橫豎顯示方式
橫屏豎屏切換
當用n85 n95的時候,可以橫屏豎屏切換。當切換的時候,就要把程式中的控制項位置 大小重新計算,重新畫了。其實也沒有什麼困難的。1.這根據原始螢幕 240 320 的螢幕計算座標。當橫屏豎屏切換的時候,可以用下面的公式進行自動的拉伸。define calc wh a a rect width 24...
android 橫屏豎屏判斷
方法1 displaymetrics dm new displaymetrics getwindowmanager getdefaultdisplay getmetrics dm int width dm.widthpixels int height dm.heightpixels 方法2 if t...
手機橫屏豎屏css
media是css3中新定義的,功能非常強大,顧名思義pc是無法匹配橫豎屏的,所以orientation只對移動裝置起效。1.頭部宣告 複製 如下 加到複製 如下 2.media匹配螢幕是橫屏還是豎屏 複製 如下 media all and orientation landscape media a...