怎么样,是不是有时候确实会遇到这样的情况?其实苹果真的考虑的很周全,为我们创造了hidesBottomBarWhenPushed这个属性,为了解决这个问题。代码⾮常简单,⼀句或者两句话即可,这⾥得分⼏种Push的情况。
Case1:xib加载或者Storyboard⽤identifier获取Controller
UIViewController *v2 = [self.storyboard instantiateViewControllerWithIdentifier:@"v2"];
v2.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:v2 animated:YES];
Case2:拉线,也就是Storyboard⽤performSegue
self.hidesBottomBarWhenPushed = YES;pushed
[self performSegueWithIdentifier:@"tov2" sender:nil];
self.hidesBottomBarWhenPushed = NO;
Tip:经测试证明,此种⽅式只会对后⾯的⼀级⽣效,继续往后Push还会出现TabBar,要继续往后pus
h也隐藏Tabbar还得使⽤Case3的⽅法,也建议如此!
Case3:拉线,在prepareForSegue函数⾥
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
[segue.destinationViewController setHidesBottomBarWhenPushed:YES];
}
更⽅便的做法:如果你在⽤ Storyboard,可以在 ViewController 的设置⾯板中
把 Hide Bottom Bar on Push 属性勾选上,效果和上⽂代码⼀样。
暂时就⽤到这⼏点,我之前的做法,⾃⼰⼿动隐藏,拉伸view,显⽰不但⿇烦,兼容性也不好,移到iOS7上问题多多,不过⽤这个属性可以⾮常⽅便的实现此需求,并且在iOS6上也完美兼容哦。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论