• home > webfront > AppDev > taro >

    小程序全屏情况下怎样去适配刘海屏iphone?

    Author:zhoulujun Date:

    微信小程序开发如果去除自带头部,全屏情况下刘海屏适配非常困难。比如我头部的文字想要和iphone 刘海屏 版微信 的自带按钮相对齐,就很

    微信小程序开发如果去除自带头部,全屏情况下刘海屏适配非常困难。

    比如我头部的文字想要和iphone 刘海屏 版微信 的自带按钮相对齐,就很困难。

    window: {
        navigationStyle: 'custom',
    },
    //  navigationStyle 接受两个参数 ['default', 'custom']: ['系统导航栏, 默认值', '隐藏系统导航栏']

    这里隐藏掉默认的导航栏之后 可以通过自定义组件的形式,DIY 一个导航栏, 值得注意的是, 当隐藏系统导航栏后, 页面会直接顶到状态栏上, 不同机型的状高度可能不一致, 尤其是针对 苹果 X 的刘海屏等 水滴屏, 需要做适配

    不止刘海屏问题。Android系统根IOS系统的手机状态栏高度也不一致。

    小程序不同系统高度不同

     Taro.getSystemInfo 中 有个属性叫做 statusBarHeight , 通过此方法即可获取手机状态栏的高度.

    通过wx.getSystemInfoSync().statusBarHeight设置高度

    Taro获取高度信息,版本版本不一样。

    新版 :Taro.getSystemInfo,这个方法是异步的。同步的方法:Taro.getSystemInfoSync(),具体查看:https://docs.taro.zone/docs/apis/base/system/getSystemInfoSync

    class Index extends Component<PageProps, PageState> {
      constructor(props) {
        super(props);
        const res = Taro.getSystemInfoSync()
        const {statusBarHeight} = res
        this.state = {
          statusBarHeight: statusBarHeight || 30,
        }
      }
      render() {
        return (
          <View className='full-page flex-column'>
            <View className='home-header flex-column justify-content-between'>
              <Image style={{paddingTop: `${statusBarHeight - 5}px`}} className='home-logo-box' src='&&&&' />
            </View>
          <View/
        );
      }
    }

    具体参考:https://github.com/lingxiaoyi/Taro-navigation-bar/blob/master/src/components/navbar_lxy/index.js

    更多的方法,可以参考,小程序解决自定义导航栏--刘海屏自适应问题:https://blog.csdn.net/weixin_43612234/article/details/97171448



    参考文章:



    转载本站文章《小程序全屏情况下怎样去适配刘海屏iphone?》,
    请注明出处:https://www.zhoulujun.cn/html/webfront/AppDev/taro/8718.html