iOS 關(guān)于iOS12 tabbar抖動(dòng)問題

  1. 在Appdeleagte中加入這句話,雖然沒有抖動(dòng)了,但是會(huì)造成UI布局問題
[[UITabBar appearance] setTranslucent:false];

2.自定義TabbarView,繼承UITabbarView,添加以下方法,親測(cè)有效

CG_INLINE BOOL
OverrideImplementation(Class targetClass, SEL targetSelector, id (^implementationBlock)(Class originClass, SEL originCMD, IMP originIMP)) {
    Method originMethod = class_getInstanceMethod(targetClass, targetSelector);
    if (!originMethod) {
        return NO;
    }
    IMP originIMP = method_getImplementation(originMethod);
    method_setImplementation(originMethod, imp_implementationWithBlock(implementationBlock(targetClass, targetSelector, originIMP)));
    return YES;
}

+ (void)load {
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        if (@available(iOS 12.1, *)) {
            OverrideImplementation(NSClassFromString(@"UITabBarButton"), @selector(setFrame:), ^id(__unsafe_unretained Class originClass, SEL originCMD, IMP originIMP) {
                return ^(UIView *selfObject, CGRect firstArgv) {
                    
                    if ([selfObject isKindOfClass:originClass]) {
                        // 如果發(fā)現(xiàn)即將要設(shè)置一個(gè) size 為空的 frame,則屏蔽掉本次設(shè)置
                        if (!CGRectIsEmpty(selfObject.frame) && CGRectIsEmpty(firstArgv)) {
                            return;
                        }
                    }
                    
                    // call super
                    void (*originSelectorIMP)(id, SEL, CGRect);
                    originSelectorIMP = (void (*)(id, SEL, CGRect))originIMP;
                    originSelectorIMP(selfObject, originCMD, firstArgv);
                };
            });
        }
    });
}

參考鏈接:https://www.cnblogs.com/fakeCoder/p/9979145.html

?著作權(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)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,774評(píng)論 1 45
  • 首先來說下富人和窮人之間的區(qū)別在哪里以及富人和窮人之間的優(yōu)勢(shì)和劣勢(shì): 富人擁有大量的財(cái)富這就不說了,還有廣闊的人脈...
    游戲贏家閱讀 932評(píng)論 0 2
  • 2017.11.23 星期四 晴 親子日記(208) 今天接回兒子,吃過飯,繼續(xù)日復(fù)一日的進(jìn)行重復(fù)模式:做作業(yè)!今...
    于澤媽媽閱讀 217評(píng)論 0 2
  • 到達(dá)印第安納波利斯第二天,我到超市買生活用品,隨手從貨架上拎了瓶紅酒,打算慶祝新生活的開始。買單時(shí)被收銀員一臉嚴(yán)肅...
    曲奇的旅行箱閱讀 438評(píng)論 0 2
  • 在讀了《成為作家》這本書之后,我得知那些大作家們并不是天賦秉異,而是經(jīng)過后天的刻意練習(xí)才有所成就的。 書中有一段作...
    蘋果Apple來了閱讀 748評(píng)論 0 0

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