Tabbar隱藏動(dòng)畫

和Tabbar按鈕切換動(dòng)畫一樣(上一篇)
首先繼承UITabBarController創(chuàng)建自己的Controller,
聲明方法
+(void)hideTabBarController:(UITabBarController *)tabbarcontroller;
+(void)showTabBarController:(UITabBarController *)tabbarcontroller;
在.m中實(shí)現(xiàn)

+ (void)hideTabBar:(UITabBarController *)tabbarcontroller
{
    // 隱藏tabbar
    [UIView animateWithDuration:UINavigationControllerHideShowBarDuration animations:^{
        CGFloat H = 50;
        if (kDevice_Is_iPhoneX) {
            H = 90;
        }
        for(UIView *view in tabbarcontroller.view.subviews)
        {
            if([view isKindOfClass:[UITabBar class]])
            {
                [view setFrame:CGRectMake(view.frame.origin.x,
                                          view.frame.origin.y + H,
                                          view.frame.size.width,
                                          view.frame.size.height)];
            }
            else
            {
                [view setFrame:CGRectMake(view.frame.origin.x,
                                          view.frame.origin.y,
                                          view.frame.size.width,
                                          view.frame.size.height + H)];
            }
        }
    }];
}
+ (void)showTabBar:(UITabBarController *)tabbarcontroller
{
    // 顯示tabbar
    CGFloat H = 50;
    if (kDevice_Is_iPhoneX) {
        H = 90;
    }
    [UIView animateWithDuration:UINavigationControllerHideShowBarDuration animations:^{
        for(UIView *view in tabbarcontroller.view.subviews)
        {
            if([view isKindOfClass:[UITabBar class]])
            {
                [view setFrame:CGRectMake(view.frame.origin.x,
                                          view.frame.origin.y - H,
                                          view.frame.size.width,
                                          view.frame.size.height)];
            }
            else
            {
                [view setFrame:CGRectMake(view.frame.origin.x,
                                          view.frame.origin.y,
                                          view.frame.size.width,
                                          view.frame.size.height - H)];
            }
        }
    }];
}

// 判斷iPhone X的宏定義

#define kDevice_Is_iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)````
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,330評(píng)論 4 61
  • 我們不是孩子, 跌倒了要人扶,要人哄, 自己爬起來(lái)拍怕灰塵, 繼續(xù)走得倔強(qiáng); 我們不是老人, 生病了需要送藥,需要...
    素顏貝貝閱讀 283評(píng)論 0 0
  • 親愛(ài)的戰(zhàn)友們,娃娃們上一年級(jí)要開始正式寫字了,可能有部分孩子在幼兒園已經(jīng)開始寫了,但我有一種擔(dān)憂,那就是握...
    瑤花琪樹Ms趙閱讀 773評(píng)論 0 6
  • 我陷入了深深的自責(zé)和內(nèi)疚中!我沒(méi)有處理好自己的情緒狠狠的打了王子朔一頓、我受不了了自己那一刻的狀態(tài)、我只能打他!我...
    lawyer麗閱讀 80評(píng)論 0 0

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