QMUI 是一个辅助快速搭建 iOS/Android/Web 应用的 UI 的框架, 本身封装了一些常用的控件和过渡动画等, 并对不同系统版本做了良好的兼容和支持.
问题
最近公司项目要求使用 QMUIKit 框架来进行开发.
当 UIViewController 继承自 QMUICommonViewController 的时候导致 QMUITabBarViewController 的 TabBar 自动隐藏, 设置 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时候隐藏.