diff --git a/xplan-ios/Assets.xcassets/Common/common_nav_back.imageset/common_nav_back@2x.png b/xplan-ios/Assets.xcassets/Common/common_nav_back.imageset/common_nav_back@2x.png index 6254fcb9..fa8a0d18 100644 Binary files a/xplan-ios/Assets.xcassets/Common/common_nav_back.imageset/common_nav_back@2x.png and b/xplan-ios/Assets.xcassets/Common/common_nav_back.imageset/common_nav_back@2x.png differ diff --git a/xplan-ios/Assets.xcassets/Common/common_nav_back.imageset/common_nav_back@3x.png b/xplan-ios/Assets.xcassets/Common/common_nav_back.imageset/common_nav_back@3x.png index af8e2383..31d2c48f 100644 Binary files a/xplan-ios/Assets.xcassets/Common/common_nav_back.imageset/common_nav_back@3x.png and b/xplan-ios/Assets.xcassets/Common/common_nav_back.imageset/common_nav_back@3x.png differ diff --git a/xplan-ios/Base/UI/BaseNavigationController.m b/xplan-ios/Base/UI/BaseNavigationController.m index 4d2c23dd..f3c66063 100644 --- a/xplan-ios/Base/UI/BaseNavigationController.m +++ b/xplan-ios/Base/UI/BaseNavigationController.m @@ -40,6 +40,17 @@ NSFontAttributeName:[UIFont systemFontOfSize:18 weight:UIFontWeightMedium], NSForegroundColorAttributeName:UIColor.whiteColor }]; + + /// scrollEdgeAppearance 属性iOS15 强制适用于 所有导航器 如果为nil 则使用 standardAppearance属性中的设置,并修改为使用透明背景 @fengshuo + if (@available(iOS 15.0, *)) { + UINavigationBarAppearance *appearance = [UINavigationBarAppearance new]; + appearance.titleTextAttributes = @{NSFontAttributeName:[UIFont systemFontOfSize:18 weight:UIFontWeightMedium], + NSForegroundColorAttributeName:UIColor.whiteColor}; + appearance.backgroundColor = [ThemeColor appBackgroundColor]; + self.navigationBar.standardAppearance = appearance; + self.navigationBar.scrollEdgeAppearance = appearance; + } } + @end diff --git a/xplan-ios/Base/UI/BaseViewController.m b/xplan-ios/Base/UI/BaseViewController.m index 0d67da0c..49031396 100644 --- a/xplan-ios/Base/UI/BaseViewController.m +++ b/xplan-ios/Base/UI/BaseViewController.m @@ -20,8 +20,22 @@ [super viewWillAppear:animated]; // 根据子类属性重写判断是否隐藏导航栏 [self.navigationController setNavigationBarHidden:self.isHiddenNavBar animated:animated]; + ///解决iOS15 导航栏下面有一条黑色的线 @fengshuo + if (@available(iOS 15.0, *)) { + [self.navigationController.navigationBar.subviews enumerateObjectsUsingBlock:^(UIView *view, NSUInteger idx, BOOL *stop) { + if ([[UIDevice currentDevice].systemVersion doubleValue] >= 10.0) { + //iOS10,改变了导航栏的私有接口为_UIBarBackground + if ([view isKindOfClass:NSClassFromString(@"_UIBarBackground")]) { + [view.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + if ([obj isKindOfClass:NSClassFromString(@"_UIBarBackgroundShadowView")]) { + obj.hidden = YES; + } + }]; + } + } + }]; + } } - - (void)viewDidLoad { [super viewDidLoad]; [self themeConfig];