iOS隱藏TabBar

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

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

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

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

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

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)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概述 昨天有個(gè)小的需求,app的購(gòu)物車(chē)頁(yè)面,每次進(jìn)入的時(shí)候需要隱藏tabBar,而我用的是系統(tǒng)的tabBar,購(gòu)物...
    guaker閱讀 5,581評(píng)論 2 6
  • 1 iOS跳轉(zhuǎn)界面時(shí)隱藏tabBar的方法 2 Iphone隱藏和顯示TabBar的方法1.隱藏TabBar: 2...
    騂躍神話閱讀 16,618評(píng)論 0 22
  • 兩種方法用來(lái)隱藏tabBar 1.在本頁(yè)面隱藏 2.再跳界面之前設(shè)置跳轉(zhuǎn)后隱藏tabBar
    2MuchT閱讀 1,628評(píng)論 0 0
  • iOS隱藏tabBar的方法
    奇怪的知識(shí)增加了閱讀 353評(píng)論 0 1
  • 前言 最近忙完項(xiàng)目比較閑,想寫(xiě)一篇博客來(lái)分享一些自學(xué)iOS的心得體會(huì),希望對(duì)迷茫的你有所幫助。博主非科班出身,一些...
    GitHubPorter閱讀 1,582評(píng)論 9 5

友情鏈接更多精彩內(nèi)容