react-native適配iPhoneX

如下圖所示康震,iPhoneX由于多了大圓角烟号、傳感器(齊劉海)以及底部訪問(wèn)主屏幕的指示遮擋诗箍,所以需要注意原有這部分內(nèi)容的設(shè)計(jì)匿又。
iOS11前導(dǎo)航欄的高度是64,其中statusBar的高度為20塘秦,而iPhoneX的statusBar高度變?yōu)榱?4讼渊,如果是自定義的NaviBar,這部分需要做相應(yīng)的適配尊剔。
另外爪幻,iPhoneX的底部增加了虛擬Home區(qū),由于安全區(qū)域的原因默認(rèn)tabBar的高度由49變?yōu)?3,增高了34挨稿,所以自定義的底部TabBar也需要需改其適配方案仇轻。

iPhoneX.png

對(duì)此,我自己封裝過(guò)一些方法來(lái)適配iPhone叶组,今天分享給大家

首先我們得判斷是否為iPhoneX拯田,最簡(jiǎn)單的就是根據(jù)屏幕大小判斷

//iPhoneX大小
const X_width = 375;
const X_height = 812;
const isIPhoneX = Platform.OS === 'ios' && ( (height === X_height && width ===X_width) || (height === X_width && width ===X_height) );

//這里如果isIPhoneX===1,則為iPhoneX,否則不是

其次我們封裝兩個(gè)函數(shù)分別處理頭部和底部的樣式


// iphoneX 頂部留白的兼容處理
export function isIPhoneXPaddTop(number) {
    number = isNaN(+number) ? 0 : +number;
    return number + (isIPhoneX ? 44 : 20)
}
//iPhoneX 底部高度兼容處理
export function isIPhoneXFooter(number){
    number = isNaN(+number) ? 0 : +number;
    return number + (isIPhoneX ? 34 : 0 )
}

這樣我們?cè)诜庋b頭部組件和底部bar組件的時(shí)候甩十,就可以使用這兩個(gè)函數(shù)

先展示一下我的項(xiàng)目結(jié)構(gòu)


項(xiàng)目結(jié)構(gòu).png
import React, { Component } from 'react';

import {
    StyleSheet,
    Text,
    View,
    Dimensions,
    TouchableOpacity
} from 'react-native';

//  isIPhoneXPaddTop函數(shù)引入
import { getPixel, isIPhoneXPaddTop } from "../../common/common"

//獲取當(dāng)前屏幕的大小
let {height,width} =  Dimensions.get('window');


class Header extends Component {
    render() {
        return (
            <View style={styles.header}>
                <View style={styles.headerCon}>
                    <TouchableOpacity
                        style={styles.HeaderBtn}><Text style={styles.return}>返回</Text>
                    </TouchableOpacity>
                    <View><Text style={styles.title}>標(biāo)題</Text></View>
                    <TouchableOpacity style={styles.HeaderBtn}>
                        <Text style={styles.share}>分享</Text>
                    </TouchableOpacity>
                </View>
            </View>
        )
    }
}

const styles = StyleSheet.create({
    header: {
        width: width,
        backgroundColor: "#fff",
        //  iPhoneX頭部兼容處理
        paddingTop: isIPhoneXPaddTop(0),
        borderBottomWidth: StyleSheet.hairlineWidth,
        borderColor: "#E0E0E0",

        position: "absolute",
        top: 0,
    },
    headerCon: {
        height: getPixel(44),
        flexDirection: "row",
        alignItems: "center",
        justifyContent: "space-between",

    },
    HeaderBtn: {
        width: getPixel(44),
        height: getPixel(44),
        justifyContent: "center",
        alignItems: "center",
    },
    return: {
        fontSize: getPixel(16),
        color: "#333",
    },
    share: {
        fontSize: getPixel(16),
        color: "#333",
    },
    title: {
        fontSize: getPixel(18),
        color: "#222",
    }
})


export default Header;

同理:底部的bar也是這樣處理船庇,我就展示關(guān)鍵代碼了

import { getPixel, isIPhoneXFooter } from "../../common/common";

.....

return  (
            <View style={styles.tabs}>
                <View style={styles.tabbarContainer}>
                  
                </View>
            </View>
        )

......

tabs: {
        flex:1,
        width:width,
        position: "absolute",
        bottom:0,
        paddingBottom: isIPhoneXFooter(0)
    },
    tabbarContainer:{
        height:getPixel(60),
        flexDirection: "row",
        alignItems:"center",
        justifyContent:"center",
        backgroundColor: "#FF9913",
    },

最后看一張圖片,對(duì)比下兼容處理之后的效果

適配iPhoneX.png

希望對(duì)大家有幫助哦侣监,一起加油??

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鸭轮,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子橄霉,更是在濱河造成了極大的恐慌窃爷,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姓蜂,死亡現(xiàn)場(chǎng)離奇詭異按厘,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)钱慢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)逮京,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人束莫,你說(shuō)我怎么就攤上這事懒棉。” “怎么了览绿?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵策严,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我饿敲,道長(zhǎng)妻导,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任诀蓉,我火速辦了婚禮栗竖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘渠啤。我一直安慰自己,他們只是感情好添吗,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布沥曹。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪妓美。 梳的紋絲不亂的頭發(fā)上僵腺,一...
    開(kāi)封第一講書(shū)人閱讀 49,749評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音壶栋,去河邊找鬼辰如。 笑死,一個(gè)胖子當(dāng)著我的面吹牛贵试,可吹牛的內(nèi)容都是我干的琉兜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼毙玻,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼豌蟋!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起桑滩,我...
    開(kāi)封第一講書(shū)人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤梧疲,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后运准,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體幌氮,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年胁澳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了该互。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡听哭,死狀恐怖慢洋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情陆盘,我是刑警寧澤普筹,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站隘马,受9級(jí)特大地震影響太防,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜酸员,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一蜒车、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧幔嗦,春花似錦酿愧、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)钝鸽。三九已至,卻和暖如春庞钢,著一層夾襖步出監(jiān)牢的瞬間拔恰,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工基括, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留颜懊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓风皿,卻偏偏與公主長(zhǎng)得像河爹,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子揪阶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • iPhoneX由于多了大圓角昌抠、傳感器(齊劉海)以及底部訪問(wèn)主屏幕的指示遮擋,所以需要注意原有這部分內(nèi)容的設(shè)計(jì)鲁僚。iO...
    HT_Jonson閱讀 6,255評(píng)論 0 48
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)炊苫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,058評(píng)論 4 62
  • 蘆葦爬上天際 遠(yuǎn)處飛過(guò)幾只云雀 有僧人在言語(yǔ) 五取執(zhí)蘊(yùn)冰沙,抑或大悲大喜 佛珠褪掉了色澤 好比蒙塵的木槿花 他們說(shuō):人...
    彧兮閱讀 187評(píng)論 1 0
  • 【看見(jiàn)&成長(zhǎng) 】 幾歲的孩子侨艾,很想與同伴接觸交往,但往往缺乏經(jīng)驗(yàn)與方法拓挥,而造成了一些問(wèn)題行為唠梨! “哭,和逃避都不是...
    好吃棒棒糖閱讀 237評(píng)論 0 0
  • 1 母親此刻睡在我身旁侥啤,小小的当叭。 母親自嫁給父親之后,很少進(jìn)城盖灸,在家操勞家務(wù)蚁鳖,洗衣做飯。 我?guī)赣H進(jìn)城住了赁炎。 母親...
    我是想想的黑眼圈閱讀 505評(píng)論 2 4