解決返回TabbarController底部Tabbar上方上移及黑色問(wèn)題

經(jīng)常我們會(huì)碰到這種需求,就是返回首頁(yè)選中某一個(gè)tabbaritem,在自定義tabbar的時(shí)候,遇到這個(gè)奇葩的問(wèn)題,返回首頁(yè)選中第一個(gè)的時(shí)候,self.view整體被上移動(dòng)了49pt,而且這49pt還是黑色的,通過(guò)小面包看層級(jí)發(fā)現(xiàn)這個(gè)view的類(lèi)名叫做UITransitionView,這里采用的本辦法就是講這個(gè)view的背景色設(shè)置成當(dāng)前顯示控制器的背景色,然后強(qiáng)制讓self.view調(diào)用layoutsubviews再讓它布局一遍,代碼如下:

 SendNotify(@"backToHome", nil);
            [self.navigationController popToRootViewControllerAnimated:YES];

- (void)setSelectedIndex:(NSInteger)index {
    DTTabBarController *tabBarController = (DTTabBarController *)kAppWindow.rootViewController;
    if (tabBarController) {
        tabBarController.selectedIndex = index;
    }
}

 @objc func backHome() {
        for subView in self.view.subviews {
            if subView.className().contains("UITransitionView", compareOption: NSString.CompareOptions.caseInsensitive) {
                subView.backgroundColor = UIColor.kColor243
                view.layoutSubviews();
                continue
            }
        }
}
    
    // MARK: - memory management
    deinit {
        NotificationCenter.default.removeObserver(self)
    }
?著作權(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)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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