iOS15导航栏跳转闪一下解决

2023-05-19  本文已影响0人  烟雨酱南
- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    self.navigationController.navigationBar.translucent = YES;
    if (@available(iOS 15.0, *)) {
        UINavigationBarAppearance *barApp = [UINavigationBarAppearance new];
        barApp.backgroundColor = [UIColor clearColor];
        barApp.backgroundEffect = nil;
        barApp.shadowColor = nil;
        self.navigationController.navigationBar.scrollEdgeAppearance = barApp;
        self.navigationController.navigationBar.standardAppearance = barApp;
    }else{
        [self.navigationController.navigationBar setShadowImage:[UIImage new]];
        [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
    }
}

- (void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    self.navigationController.navigationBar.translucent = NO;
    UIColor *color = [UIColor whiteColor];
    if (@available(iOS 15.0, *)) {
        self.navigationController.navigationBar.standardAppearance.backgroundColor = color;
        self.navigationController.navigationBar.scrollEdgeAppearance.backgroundColor = color;
    }else{
        self.navigationController.navigationBar.barTintColor = color;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读