您的位置:首页 > 产品设计 > UI/UE

IOS 自定义UITabBarController的高度处理

2017-03-17 18:04 489 查看

IOS 自定义UITabBarController的高度处理

        UITabBarController 是App里面经常使用的 控件,一般主要栏目都会设置在 UITabBarController里面,最多可是设置五项。UITabBarController功能实用强大,相关其他属性设置请自行查找资料,本博文主要介绍自定义 UITabBarController高度的实现(主要出于底部高度太高,在4寸及以下尺寸手机上显得很占空间)。

        经过分析和查找资料,有两种思路一种新建一个文件继承自 UITabBarController,在这里做设置等一些初始化的功能逻辑处理;另一种就是在用到UITabBarController的页面 继承自一个 基类 AppBaseViewController,该基类 继承自 UIViewController,在这个基类里面做调整,和一些其他公共的操作处理(这种方法比较适合,之前项目已经使用默认的高度,后面需要降低高度的情况)。

思路二的具体实现参考代码如下:

//自定义UITabBarController 的高度
- (void)viewWillLayoutSubviews{

CGRect rectWindow = [AppDelegate app].window.frame;
CGRect rectTabBar = [AppDelegate app].tabBarController.tabBar.frame;

rectTabBar.size.height = APP_BOTTOM_TABBAR_HEIGHT;
rectTabBar.origin.y = rectWindow.size.height - APP_BOTTOM_TABBAR_HEIGHT;
[AppDelegate app].tabBarController.tabBar.frame = rectTabBar;

//[AppDelegate app].tabBarController.selectedViewController.view.frame = CGRectMake(0, 0, 320, rectWindow.size.height - APP_BOTTOM_TABBAR_HEIGHT);

}


以上方法,添加在  AppBaseViewController 基类里面

需要注意的是,当 UITabBarController 的高度改变后,在有 UITabBarController 的视图界面需要相应的调整内容视图的高度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息