ios 根據當前裝置是否橫屏進行布局

2021-06-28 18:19:15 字數 1285 閱讀 6632

設定裝置的能否橫屏或者豎屏的設定在target->general->deployment info->device orientation中設定,如圖:

首先,獲取螢幕的寬高:

#define width self.view.frame.size.width

#define height self.view.frame.size.height

然後我們簡單的加乙個view來測試:
_myview=[[uiview alloc]init];

_myview.frame=cgrectmake(0, 0, width, height);

_myview.backgroundcolor=[uicolor greencolor];

[self.view addsubview:_myview];

uilabel *lbl=[[uilabel alloc]init];

lbl.text=@"測試橫屏豎屏";

lbl.frame=cgrectmake(width/2-80, 100, 140, 40);

[_myview addsubview:lbl];

然後,當我們旋轉裝置是,改變view的frame來適應螢幕

- (void)willanimaterotationtointe***ceorientation:(uiinte***ceorientation)inte***ceorientation duration:(nstimeinterval)duration

}

然後執行看看,可以發現,當我們無論我們如何旋轉螢幕,view總是能適應螢幕的寬高.但是這裡還有乙個問題,我們剛開始進入應用的時候是預設裝置的豎屏來設定view的frame的.如果一進應用就橫屏就會發生view的高超出介面而寬太小的情況.那麼怎麼在進應用的時候獲取當前的螢幕的狀態呢

if (currentorientation == uiinte***ceorientationportrait ||currentorientation == uiinte***ceorientationportraitupsidedown) else

ok,問題解決!

用**設定當前是否允許橫屏或豎屏

-(nsuinteger)supportedinte***ceorientations

ios 取裝置語言 iOS 獲取裝置當前語言和地區

級別 審校 qishare團隊 一 獲取裝置當前語言和地區的 ios 獲取裝置當前語言和地區的 簡體 中國大陸地區環境下的輸出結果 currentlanguageregion zh hans cn 二 切換裝置當前語言和地區的方法 通過手機 或模擬器 修改語言和地區 優先順序低,常用 方法 通用 語...

獲取iOS裝置當前ip位址

第一種方法是用系統api的方式獲取,如下 include include include include include include include include include include include include include include include getaddres...

獲取iOS裝置當前ip位址

第一種方法是用系統api的方式獲取,如下 include include include include include include include include include include include include include include include getaddres...