我的iOS11及iPhoneX適配(三)

2021-08-09 16:37:02 字數 1308 閱讀 8595

今天說說在iphonex適配碰到的問題:

一、部分頁面頂部超過了iphonex的「劉海」

二、部分頁面底部被虛擬home按鍵遮擋。

造成以上問題是:

一、iphonex 的狀態列高度產生了變化,由 20 變成了 44

二、 iphonex 新增了 34 點高度的虛擬 home 區域

因此,iphonex的這2個問題主要是對頁面頂部和底部高度進行調整。

對於iphonex的識別,需要定定義乙個巨集,目前選用的方法是從高度上判斷:

#define  isiphonex (([[uiscreen mainscreen] bounds].size.height)==812.f ? 1 : 0)

然後對於狀態列的高度調整,把之前定義的狀態列高度是20的巨集,改為:

#define status_height (isiphonex ? 44 : 20)

再新增乙個虛擬按鍵的高度:

#define virtualhomeforiphonex   (isiphonex ? 34 : 0)

剩下的,就是在需要調整的頁面進行響應的高度修改即可。

同時,在修改中也發現一些之前的**寫的不規範的地方,比如有些狀態列的高度沒有用巨集,直接寫的20(這個問題跟導航欄類似),當然還需要注意的是,狀態列的高度和底部高度調整後,顯示頁面的高度也都對應的調整。

最後,把上面幾個頁面修改後的效果:

以上,只是部分iphonex的頁面適配。

iOS 11開發教程(四)iOS11模擬器介紹一

在圖1.6或者1.7中所看到的類似於手機的模型就是ios模擬器。ios模擬器是在沒有iphone或ipad裝置時,對程式進行檢測的裝置。ios模擬器可以模 實的iphone或ipad等裝置的一些功能。本小節將講解一些有關模擬器的操作。1.模擬器與真機的區別 ios模擬器可以模 實的iphone或ip...

問題 iOS 11 定位問題

ios11 定位許可權未通過,控制台輸出以下資訊 在 info.plist 檔案新增乙個 nslocationalwaysandwheninuseusagedescription 和 nslocationwheninuseusagedescription 的 key,然後新增描述。定位失敗,方法lo...

IOS11 游標錯位問題

ios11發布後,測試人員反饋回來,鍵盤彈起時,input游標會定位不准。後來查了資料,原來是position fixed,和input一起使用會出現的bug。應該來說,是fixed在移動端支援不怎麼好。如圖 我的輸入框彈出層下面還有乙個遮罩層,我的遮罩層用了fixed定位,當鍵盤彈起時,ios視口...