首页 QMUI: 设置 hidesBottomBarWhenPushed 为 NO 无效
文章
取消

QMUI: 设置 hidesBottomBarWhenPushed 为 NO 无效

QMUI 是一个辅助快速搭建 iOS/Android/Web 应用的 UI 的框架, 本身封装了一些常用的控件和过渡动画等, 并对不同系统版本做了良好的兼容和支持.

问题

最近公司项目要求使用 QMUIKit 框架来进行开发.

UIViewController 继承自 QMUICommonViewController 的时候导致 QMUITabBarViewControllerTabBar 自动隐藏, 设置 hidesBottomBarWhenPushed = NO 也无效的情况.

解决办法

虽然框架内做了如下描述:

当你需要实现 tabBarController 首页那几个界面显示 tabBar,而 push 进去的所有子界面都隐藏 tabBar 的效果时,可将配置表里的 HidesBottomBarWhenPushedInitially 改为 YES,然后手动将 tabBarController 首页的那几个界面的 hidesBottomBarWhenPushed 属性改为 NO,即可实现。

但是直接在生命周期函数内设置均时候无效, 如下:

1
2
3
4
- (void)viewDidLoad {
    ...
    self.hidesBottomBarWhenPushed = NO;
}

改为如下写法即可:

1
2
3
- (BOOL)hidesBottomBarWhenPushed {
    return NO;
}

如果有其他特殊需求可以自己增加逻辑. 正常开发也可以利用这种方式自己添加逻辑来控制页面底部的 TabBar 时候隐藏.

本文由作者按照 CC BY 4.0 进行授权