码迷,mamicode.com
首页 > 移动开发 > 详细

ios中解决自定义tabbar跳转隐藏问题的方法

时间:2016-04-07 01:42:01      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:frame   博客   动画   开发   读者   

ios开发(http://www.maiziedu.com/course/ios/中,如何自定义tabbar高度的跳转隐藏问题,比如和系统自带的tabbar高度不一样导致的有一条线的问题,还有push时动画效果等等一些列问题不在这里累述了,当然,思路有很多,可以参考以上链接自己琢磨琢磨,好了,下面直接上个人认为完美解决办法。

需求

1、自定义tabbar,不用系统的tabbar

2、第二点需求是自定义tabbar的高度和系统的不一样,系统的tabbar高度为49,就是因为这点导致第三个需求有多重解决方法。

3、跳转隐藏tabbar,这个需求很简单,但是在第二个需求的前提下第三个需求并不是这么容易实现了。

 

完美解决办法(只写关键代码)

自定义tabbar

// 创建一个自定义的tabbar,并且设置frameframe写死了,读者可以根据自己的需求改,笔者用的自定义高为44

ERTabBar *tabBar = [[ERTabBar alloc] initWithFrame:CGRectMake(0032044)];

设置系统tabbar的高度(其他博客或者论坛也有这样解决的)

CGRect frame = [UIScreen mainScreen].bounds;self.tabBar.frame = CGRectMake(0CGRectGetHeight(frame)-44CGRectGetWidth(frame), 44);UIView *transitionView = [[self.view subviews] objectAtIndex:0];

frame.size.height = CGRectGetHeight(frame) - 44;

transitionView.frame = frame;

把自定的tabbar添加到系统自带的tabbar上面

[self.tabBar addSubview:tabBar];

viewWillAppear方法中删除系统自带的tabBarButton

- (void)viewWillAppear:(BOOL)animated

{

[super viewWillAppear:animated];

    // 删除系统自带的tabBarButton

    for (UIView *tabBarButton in self.tabBar.subviews) {

        if ([tabBarButton isKindOfClass:NSClassFromString(@"UITabBarButton")]) {

            [tabBarButton removeFromSuperview];

        }

    }

}

跳转隐藏

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated

{if (self.childViewControllers.count) { // 不是根控制器

    

    viewController.hidesBottomBarWhenPushed = YES;

 

[super pushViewController:viewController animated:animated];

 

}


ios中解决自定义tabbar跳转隐藏问题的方法

标签:frame   博客   动画   开发   读者   

原文地址:http://11215578.blog.51cto.com/11205578/1761064

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!