iOS隱藏TabBar

原文地址 http://blog.csdn.net/musou_ldns/article/details/8531422

本篇文章簡單介紹下如何隱藏 TabBar。畫面遷移的隱藏,方法很簡單,網(wǎng)上也有不少介紹。這里主要介紹的是在當(dāng)前頁面上隱藏 TabBar。下面是效果圖:

原理其實(shí)很簡單,就是修改 TabBar 的 subview 的 frame 就行了。其中,TabBar 的subview 共有兩個(gè),一個(gè)叫 UITabBar,就是底下的那個(gè) Bar;另一個(gè)叫UITranstionview,就是 Bar 上面的視圖。這兩個(gè) view 下面還有其他的subview,這就不用去管它了。

然后,把UITabBar的 y 向下移49個(gè)單位,把UITranstionview 的 hight 加長 49 個(gè)單位。理論上這樣就可以了,但是有時(shí)候這樣隱藏tabbar后,原來的viewcontroller上的view就會(huì)被拉長。解決方法是修改viewcontroller上的view 的 autosizing。具體效果試試就知道了。

以下是具體代碼,另加上了動(dòng)畫效果:

for (UIView *v in [self.tabBarController.view subviews]) {

if ([v isKindOfClass:[UITabBar class]]) {

[UIView animateWithDuration:kDuration delay:0.0f options:UIViewAnimationOptionCurveEaseOut animations:^(){

CGRect frame = v.frame;

frame.origin.y += 49.0f;

v.frame = frame;

} completion:^(BOOL complete)

{

isAnimating = NO;

}];

} else {

isAnimating = YES;

[UIView animateWithDuration:kDuration delay:0.0f options:UIViewAnimationOptionCurveEaseOut animations:^(){

CGRect frame = v.frame;

frame.size.height += 49.0f;

v.frame = frame;

} completion:nil];

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容