關於UIView的橫豎屏自適應

2021-06-09 21:40:28 字數 1328 閱讀 6784

本文的屬性也不知道是原創還是摘抄了,乙個同事正在學橫豎屏自適應的東西,剛看到用**調整的部分,然後我徒手給實現了用ib實現的方式,估計書上應該都有,只是我沒看吧。

簡單來說就兩種方式:**實現和ib實現

原理都是通過判斷方向旋轉然後給出相應的調整方式。

效果圖:

**實現:

viewcontroller.h

@property (nonatomic,retain)iboutlet uibutton *button1;

@property (nonatomic,retain)iboutlet uibutton *button2;

@property (nonatomic,retain)iboutlet uibutton *button3;

@property (nonatomic,retain)iboutlet uibutton *button4;

@property (nonatomic,retain)iboutlet uibutton *button5;

@property (nonatomic,retain)iboutlet uibutton *button6;

做幾個連線變數,要和介面上對應的按鈕連線起來

viewcontroller.h

-(void)willanimaterotationtointe***ceorientation:(uiinte***ceorientation)tointe***ceorientation 

duration:(nstimeinterval)durationelse }

增加乙個方向適應函式。我覺得最麻煩的就是這個**調位置,然後就齊活了。

ib實現:

viewcontroller.xib

實現兩個view,分別對應橫屏和豎屏

viewcontroller.h

@inte***ce viewcontroller : uiviewcontroller

增加兩個連線變數,分別對應橫屏和豎屏

viewcontroller.m

- (bool)shouldautorotatetointe***ceorientation:(uiinte***ceorientation)inte***ceorientation

else

return yes; }

當方向改變時自動選擇對應的view,that』s all!

討論:對於使用哪種方式,筆者還是傾向使用ib,雖然用**的方式看起來比較酷,也有**控說這樣寫著比較爽。我想說的的,面對複雜的應用環境,需求天天變,介面天天調,如果用**的話,死的心都會有的。再說mvc這麼酷的框架幹嘛不用?

autosizeview

如何實現ios螢幕的橫豎屏自適應

首先在uiviewcontroller的 bool shouldautorotatetointe ceorientation uiinte ceorientation inte ceorientation 方法中設定裝置要支援的deviceorientation 在uiviewcontroller的...

vnc自適應屏的觸控

vnc自適應屏的觸控,座標計算 伺服器的縱橫座標比 float serverf float getimageheight float getimagewidth float fh float getimageheight float getwidth serverf 2f 客戶端與伺服器的橫座標比 ...

Android教程 Webview自適應螢幕

第一種 settings.setusewideviewport true settings.setloadwithoverviewmode true 第二種 用於4.4以下機型 websetting settings webview.getsettings settings.setlayoutalg...