0 评论

0 收藏

分享

[uniapp相关] IOS底部遮挡tabbar

优雅草蜻蜓Q系统苹果IOS底部遮挡tabbar问题解决-参考此方式其他uniapp开发的底部菜单栏均可采用
这是底部代码
<template>    <view class="nav">        <template v-if="path === home">            <view class="nav-item">                <image class="nav-item__icon" src="/static/images/tabbar/common_short_video_2_selected.png" mode="aspectFit"></image>                <text class="nav-item__icon--white">精选</text>            </view>            <view class="nav-item" @tap="_jumpPage(latestVideo)">                <image class="nav-item__icon" src="/static/images/tabbar/common_film_unselected.png" mode="aspectFit"></image>                <text class="nav-item__icon--white">最新</text>            </view>            <view class="nav-item" @tap="_jumpPage(longVideo)">                <image class="nav-item__icon" src="/static/images/tabbar/common_short_video_unselected.png" mode="aspectFit"></image>                <text class="nav-item__icon--white">长视频</text>            </view>            <view class="nav-item" @tap="_jumpPage(shortVideo)">                <image class="nav-item__icon" src="/static/images/tabbar/common_game_unselected.png" mode="aspectFit"></image>                <text class="nav-item__icon--white">短视频</text>            </view>            <view class="nav-item" @tap="_jumpPage(community)">                <image class="nav-item__icon" src="/static/images/tabbar/common_home_unselected.png" mode="aspectFit"></image>                <text class="nav-item__icon--white">社区</text>            </view>            <view class="nav-item" @tap="_jumpPage(my)">                <image class="nav-item__icon" src="/static/images/tabbar/common_mine_unselected.png" mode="aspectFit"></image>                <text class="nav-item__icon--white">我的</text>            </view>        </template>        <template v-else>            <view class="nav-item" @tap="_jumpPage(home)">                <image class="nav-item__icon" src="/static/images/tabbar/common_short_video_2_normal.png" mode="aspectFit"></image>                <text class="nav-item__text">精选</text>            </view>            <view class="nav-item" @tap="_jumpPage(latestVideo)">                <image class="nav-item__icon" src="/static/images/tabbar/common_film_selected.png" mode="aspectFit" v-if="path === latestVideo"></image>                <image class="nav-item__icon" src="/static/images/tabbar/common_film_normal.png" mode="aspectFit" v-else></image>                <text class="nav-item__text" :class="{'active': path === latestVideo}">最新</text>            </view>            <view class="nav-item" @tap="_jumpPage(longVideo)">                <image class="nav-item__icon" src="/static/images/tabbar/common_short_video_selected.png" mode="aspectFit" v-if="path === longVideo"></image>                <image class="nav-item__icon" src="/static/images/tabbar/common_short_video_normal.png" mode="aspectFit" v-else></image>                <text class="nav-item__text" :class="{'active': path === longVideo}">长视频</text>            </view>            <view class="nav-item" @tap="_jumpPage(shortVideo)">                <image class="nav-item__icon" src="/static/images/tabbar/common_game_selected.png" mode="aspectFit" v-if="path === shortVideo"></image>                <image class="nav-item__icon" src="/static/images/tabbar/common_game_normal.png" mode="aspectFit" v-else></image>                <text class="nav-item__text" :class="{'active': path === shortVideo}">短视频</text>            </view>            <view class="nav-item" @tap="_jumpPage(community)">                <image class="nav-item__icon" src="/static/images/tabbar/common_home_selected.png" mode="aspectFit" v-if="path === community"></image>                <image class="nav-item__icon" src="/static/images/tabbar/common_home_normal.png" mode="aspectFit" v-else></image>                <text class="nav-item__text" :class="{'active': path === community}">社区</text>            </view>            <view class="nav-item" @tap="_jumpPage(my)">                <image class="nav-item__icon" src="/static/images/tabbar/common_mine_selected.png" mode="aspectFit" v-if="path === my"></image>                <image class="nav-item__icon" src="/static/images/tabbar/common_mine_normal.png" mode="aspectFit" v-else></image>                <text class="nav-item__text" :class="{'active': path === my}">我的</text>            </view>        </template>    </view></template>
样式代码:
    .text-white {        color: #FFFFFF;    }    .active {        color: #fc80a2;    }    .nav-item__icon--white {        color: #FFFFFF;        font-size: 24rpx;        margin-top: 5rpx;    }    .nav-item__icon {        width: 40rpx;        height: 40rpx;    }    .nav-item__text {        color: #333333;        font-size: 24rpx;        margin-top: 5rpx;    }    .nav-item {        /* #ifndef APP-NVUE */        display: flex;        flex-direction: column;        /* #endif */        height: 50px;        flex: 1;        align-items: center;        justify-content: center;    }    .nav {        /* #ifndef APP-NVUE */        display: flex;        border-top: 1rpx solid rgba($color: #909090, $alpha: 0.2);        /* #endif */        height: 50px;        flex-direction: row;        align-items: center;        /* #ifdef APP-NVUE */        border-top-color: rgba($color: #909090, $alpha: 0.2);        border-top-width: 1rpx;        /* #endif */    }
需要对其设置安全距离,此为安全距离代码
   padding-bottom: constant(safe-area-inset-bottom); /* 兼容 iOS < 11.2 */      padding-bottom: env(safe-area-inset-bottom); /* 兼容 iOS >= 11.2 */
因此我们建立
.safepadding{        padding-bottom: constant(safe-area-inset-bottom); /* 兼容 iOS < 11.2 */        padding-bottom: env(safe-area-inset-bottom); /* 兼容 iOS >= 11.2 */    }
加入在nav这个标签上
加入后:
<template>    <view class="nav safepadding">        <template v-if="path === home">            <view class="nav-item">                <image class="nav-item__icon" src="/static/images/tabbar/common_short_video_2_selected.png" mode="aspectFit"></image>                <text class="nav-item__icon--white">精选</text>            </view>            <view class="nav-item" @tap="_jumpPage(latestVideo)">                <image class="nav-item__icon" src="/static/images/tabbar/common_film_unselected.png" mode="aspectFit"></image>                <text class="nav-item__icon--white">最新</text>            </view>            <view class="nav-item" @tap="_jumpPage(longVideo)">                <image class="nav-item__icon" src="/static/images/tabbar/common_short_video_unselected.png" mode="aspectFit"></image>                <text class="nav-item__icon--white">长视频</text>            </view>            <view class="nav-item" @tap="_jumpPage(shortVideo)">                <image class="nav-item__icon" src="/static/images/tabbar/common_game_unselected.png" mode="aspectFit"></image>                <text class="nav-item__icon--white">短视频</text>            </view>            <view class="nav-item" @tap="_jumpPage(community)">                <image class="nav-item__icon" src="/static/images/tabbar/common_home_unselected.png" mode="aspectFit"></image>                <text class="nav-item__icon--white">社区</text>            </view>            <view class="nav-item" @tap="_jumpPage(my)">                <image class="nav-item__icon" src="/static/images/tabbar/common_mine_unselected.png" mode="aspectFit"></image>                <text class="nav-item__icon--white">我的</text>            </view>        </template>        <template v-else>            <view class="nav-item" @tap="_jumpPage(home)">                <image class="nav-item__icon" src="/static/images/tabbar/common_short_video_2_normal.png" mode="aspectFit"></image>                <text class="nav-item__text">精选</text>            </view>            <view class="nav-item" @tap="_jumpPage(latestVideo)">                <image class="nav-item__icon" src="/static/images/tabbar/common_film_selected.png" mode="aspectFit" v-if="path === latestVideo"></image>                <image class="nav-item__icon" src="/static/images/tabbar/common_film_normal.png" mode="aspectFit" v-else></image>                <text class="nav-item__text" :class="{'active': path === latestVideo}">最新</text>            </view>            <view class="nav-item" @tap="_jumpPage(longVideo)">                <image class="nav-item__icon" src="/static/images/tabbar/common_short_video_selected.png" mode="aspectFit" v-if="path === longVideo"></image>                <image class="nav-item__icon" src="/static/images/tabbar/common_short_video_normal.png" mode="aspectFit" v-else></image>                <text class="nav-item__text" :class="{'active': path === longVideo}">长视频</text>            </view>            <view class="nav-item" @tap="_jumpPage(shortVideo)">                <image class="nav-item__icon" src="/static/images/tabbar/common_game_selected.png" mode="aspectFit" v-if="path === shortVideo"></image>                <image class="nav-item__icon" src="/static/images/tabbar/common_game_normal.png" mode="aspectFit" v-else></image>                <text class="nav-item__text" :class="{'active': path === shortVideo}">短视频</text>            </view>            <view class="nav-item" @tap="_jumpPage(community)">                <image class="nav-item__icon" src="/static/images/tabbar/common_home_selected.png" mode="aspectFit" v-if="path === community"></image>                <image class="nav-item__icon" src="/static/images/tabbar/common_home_normal.png" mode="aspectFit" v-else></image>                <text class="nav-item__text" :class="{'active': path === community}">社区</text>            </view>            <view class="nav-item" @tap="_jumpPage(my)">                <image class="nav-item__icon" src="/static/images/tabbar/common_mine_selected.png" mode="aspectFit" v-if="path === my"></image>                <image class="nav-item__icon" src="/static/images/tabbar/common_mine_normal.png" mode="aspectFit" v-else></image>                <text class="nav-item__text" :class="{'active': path === my}">我的</text>            </view>        </template>    </view></template>

优雅草论坛2022年8月11日大改,优雅草论坛变回只服务于客户的提问交流论坛,详情查看优雅草8月11日大改,原因详情查优雅草外卖乐关闭

回复

举报 使用道具

全部回复
暂无回帖,快来参与回复吧
yac2025
优雅草的临时工
主题 186
回复 0
粉丝 0