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
时候隐藏.