iPhone X,iPhone XS,iPhone XR,iPHone XS Max 適配(只說實現,不BB)
今天凌晨蘋果新發布了三款手機,分別是iPhone XS,iPhone XR,iPhone XS Max,其中iPhone XS的螢幕尺寸和iPhone X的是一致的,另外兩款都有了新的尺寸,具體尺寸如下
具體原理性的東西就多說了,因為iPhoneX系列都一樣,本文只說明一下具體怎麼做,要適配螢幕,首先得讓他以正確的姿勢啟動,如果你使用的是LaunchScreen.storyboard,就不需要考慮這個了,但如果你使用的是LaunchImag,就需要提供正確的啟動圖。需要注意的是XR使用的@2x的圖。
啟動圖尺寸 機型 命名
640 × 960 iPhone4s
640 × 1136 iPhone5s [email protected]
750 × 1334 iPhone [email protected]
1242 × 2208 iPhonePlus [email protected]
1125 × 2436 iPhoneX, XS [email protected]
828 x 1792 iPhoneXR [email protected]
1242 x 2688 iPhoneXS Max [email protected]
本文提到的這四款手機都有一個共同的特點,就是“齊劉海”+底部觸控條
針對這種樣式的螢幕,我們處理方法是一樣,幾個巨集直接搞定(至於怎麼判斷是不是iPhone X系列,這裡也不多說了)
#define kNavBarHeight (iphoneX ? 88.0 : 64.0)
#define kBottomBarHeight (iphoneX ? 34.0 : 0)
#define kContentHeight (kScreenHeight - kNavBarHeight-kBottomBarHeight)
針對繼承自UIScrollView的,需要處理一下內邊距
第一步:關閉自動調整內邊距
if (@available(iOS 11.0, *)) {
[UIScrollView appearance].contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
第二步:在使用的地方手動設定內邊距(千萬別全域性設定,容易出事)
self.scrollView.contentInset = UIEdgeInsetsMake(0, 0, kBottomBarHeight, 0);
這樣設定以後,底下的觸控區域就能正常顯示內容了,而且當UIScrollView滑到最底部的時候,不會被遮住。
除此之外,有些比較大的控制元件,產品會要求按照螢幕比例進行調整,小螢幕的顯示的小一點,大螢幕的顯示大一點,這個也是兩個巨集搞定
#define kScaleH (kScreenHeight/667.0)
#define kScaleW (kScreenWidth/375.0)
解釋一下為什麼除的667和375,因為UI給的設計圖示按照667 * 375的螢幕給的,如果你們的UI小姐姐給的設計圖是按照iPhone5s的尺寸設計的,分母就要換成568和320。
相關推薦
iPhone X,iPhone XS,iPhone XR,iPHone XS Max 適配(只說實現,不BB)
今天凌晨蘋果新發布了三款手機,分別是iPhone XS,iPhone XR,iPhone XS Max,其中iPhone XS的螢幕尺寸和iPhone X的是一致的,另外兩款都有了新的尺寸,具體尺寸如下 具體原理性的東西就多說了,因為iPhoneX系列都一樣,本文只說明
頁面字型適配(media query ), em的使用
首先來說說em的使用 使用者的瀏覽器預設渲染的文字大小是“16px”,換句話說,Web頁面中“body”的文字大小在使用者瀏覽器下預設渲染是“16px”。 而“em”是一個相對的大小,是其相對於元素父元素的大小。比如說:如果在一個< div >設
全面屏適配(小米8,三星s8等)
引入問題: 使用者提出自己的小米8手機執行app時候底部有黑邊,因為是內部系統不方便截圖,我這裡就從miui裡找了一個圖來代替 開始還擔心是螢幕適配的問題(dimens適配),但是系統中只適配橫向,縱向不做適配; 下次發版前給使用者的臨時處理方案: 設定-全面屏-應用全面屏執行設定
【Android】狀態列相關適配(判斷MIUI,Flyme,狀態列圖示顏色切換,獲取狀態列高度,沉浸式狀態列相關等)
對於狀態列相關適配這個事情,真是讓人頭疼的一個模組。因為負責的專案主題色偏偏是白色,不但要去適配 MIUI ,Flyme(因為這兩個都可以實現沉浸式,並且圖示可以切換成黑色),也要分別適配 Android 6.0 以下, Android 6.0 起兩種不同情況(6.0 起原
三款新iPhone劉海屏沒跑了!蘋果要求iOS APP必須適配
原標題:三款新iPhone劉海屏沒跑了!蘋果要求iOS APP必須適配 2017年蘋果最重磅的新品就 2017年蘋果最重磅的新品就是iPhone X了。可從外形的角度,由於頂部“劉海”的存在,距離完美的全面屏還差一截。 同時,這種異形切割的設計也對iOS軟體的適配帶來了挑戰和提
給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前後沒有空格。
foo x11 sdi ocl ref margin dia 分割 lns 2巳嘿2啃40必刪8蔚http://t.docin.com/mqjnf44635 4瓶3ck芳8g0琳c鋪巢0http://t.docin.com/uemr9596 pf絞職9ZPFV壕5htt
Expo大作戰(三十四)--expo sdk api之LinearGradient(線性漸變),KeepAwake(保持屏幕不休眠),IntentLauncherAndroid,Gyroscope,
con border app face 圖片 parent ext activate -- 簡要:本系列文章講會對expo進行全面的介紹,本人從2017年6月份接觸expo以來,對expo的研究斷斷續續,一路走來將近10個月,廢話不多說,接下來你看到內容,講全部來與
放心嗨!Android 9 Pie發布,網易雲易盾加固已第一時間適配
工作 工程師 ffffff 谷歌 時間 water 科技 RoCE image 自5月份谷歌在年度開發者大會上首次亮相Android 9 P後,其正式版Android 9 Pie昨天正式發布,網易雲易盾移動安全已在昨天第一時間裏進行了最終適配。 早在今年初,易盾就做好了相關
輸入兩個整數,求他們相除的餘數。用帶參的巨集來實現,程式設計序。
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanne
3. Project Euler15 給定一個20*20的方格,從左上角到右下角的路徑有多少條?(只允許向右和向下走)
【微--策--略】 1. 五個洞排成一排,其中一個洞裡藏有一隻狐狸。每個夜晚,狐狸都會跳到一個相鄰的洞裡;每個白天,你都只允許檢查其中一個洞。怎樣才能保證狐狸最終會被抓住? 解答:有個問題 錯了 下面是少一天的推理 第一天2洞 第二天2洞 都沒有的話 證明它在後三個裡面 第三天4洞 第四天4
類的關係(泛化, 實現,關聯,聚合,組合,依賴)
類的關係 在UML類圖中,常見的有以下幾種關係: 泛化(Generalization), 實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency) 1. 泛化(Generalizati
究極難題 :一個執行10秒以上至無窮的呼叫函式,成功後有返回值。在多工執行緒中怎麼實現呼叫不卡住該執行緒?
究極難題 :一個執行10秒以上至無窮的呼叫函式,成功後有返回值。在多工執行緒中怎麼實現呼叫不卡住該執行緒? Note:一旦呼叫函式,中途無法取消。 思路一:讓其執行在獨立執行緒內。加超時時間。 1. 在超時時間內函式有返回值,則函式執行結束。則獨立執行緒結束。 2. 在超時時
福利!NodeJs爬取網路教程並生成PDF檔案,以阮一峰JavaScript教程和ES6教程為例(附原始碼和PDF檔案)
前言 你想一夜暴富嗎?你想一夜成名嗎?你想開蘭博基尼泡妞嗎?你想拿鈔票點菸嗎?你想成為世界主宰嗎?那麼,趕緊往下看吧,雖然它不能達成前面所說的任 何一個夢想,但是,你將獲得: 通過命令列將某網站的內容轉成PDF檔案 通過NodeJS爬蟲將某網路教程(例如阮一峰的JavaScript教程和ES6教
.vbb格式轉換為txt格式(matlab實現),在此以Caltech Pedestrian Dataset資料集的annotations為例
%% 下載matlab的vbb工具庫 連結:https://pan.baidu.com/s/1GVvimekjNh4M_D4grM0Btw 提取碼:ymfn %% clc clear all addpath(genpath('自己存放code3.2.1資料夾
電動汽車的車型複雜多樣,TBOX如何做好汽車的匯流排資料功能協議適配?
一般可以藉助 CANalyst-II 匯流排報文收發器工具與汽車的 CAN 匯流排相連,可以獲取到 CAN總線上廣播的 CAN 資料包。通過 CanTest 軟體可以實時的觀察到 CAN 總線上正在傳送的資料包。 從大量的 CAN 資料包中進行逆向分析,找到汽車車身的控制指令對應的是哪一個 CA
適配可摺疊裝置,您的應用準備好了嗎?
作者: Leo Sei, Android 產品經理 我們在 11 月初舉辦了 Android 開發者峰會,並在會上宣佈 Android 將對摺疊屏裝置 (Foldable) 提供原生支援,幫助開發者為三星等硬體合作伙伴即將推出的新裝置做好準備。 建議您仔細閱讀以下資訊,確保您的應用能夠在這種新式
給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前後沒有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”
題目描述 給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前後沒有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello” 輸入描述: 輸入資料有多組,每組佔一行,包含一個句子(句子長度小於100
【劍指Offer】輸入一個正數s,打印出所有和為s 的連續正數序列(序列大小至少為2) (C++)
題目用例: s = 15,那麼由於1+2+3+4+5 = 4+5+6=7+8 = 15,所以存在3個這樣的序列。 分析: 由於序列大小至少為2,我們定義兩個變數l和r,分別表示序列的最小值和最大值。 對於r而言,r取何值其實是有一個範圍的,即當序列只有2
React適配Mobx裝飾器,Unexpected token (7:2),不支援@
花了兩天時間適配,網上太多誤人子弟的內容。。。。。。。。。。。。 D:\Program\antd>create-react-app demo6 D:\Program\antd\demo6>npm install --save mobx mobx-react re
【演算法】給定兩個字串,確定一個字串重新排列後能否變成另一個字串(java實現)
分析:兩個字串的長度都不相同時,不可能是變位詞 package com.billkang.algorithm; import java.util.Arrays; /** * 給定兩個字串,確