如何删除 ios 14 的导航栏图像阴影? [关闭]

Posted

技术标签:

【中文标题】如何删除 ios 14 的导航栏图像阴影? [关闭]【英文标题】:How to remove navigationbar image shadow for ios 14? [closed] 【发布时间】:2020-11-30 10:22:03 【问题描述】:

enter image description here 我在目标 c 中面临 ios 版本 问题。 导航栏图像阴影ios 14 版本中不起作用。和 ios 工作正常。我上传图片 所以这是我的代码


if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 14.0)

    [[UINavigationBar appearance] setBackgroundImage: [UIImage new]
                                       forBarMetrics: UIBarMetricsDefault];
    [UINavigationBar appearance].shadowImage = [UIImage new];

    //[[UINavigationBar appearance] setBackgroundImage:blank forBarMetrics:UIBarMetricsDefault];


else

    // Load resources for iOS 11 or earlier
    self.navigationController.navigationBar.shadowImage = [UIImage alloc];


【问题讨论】:

【参考方案1】:

我解决的问题是我的代码:

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 14.0)

    [[UINavigationBar appearance] setBackgroundImage: [UIImage new]
                                       forBarMetrics: UIBarMetricsDefault];
    self.navigationController.navigationBar.shadowImage = [UIImage new];
    [UINavigationBar appearance].tintColor = UIColor.clearColor;
    self.navigationController.navigationBar.translucent = YES;


else

    // Load resources for iOS 11 or earlier
    self.navigationController.navigationBar.shadowImage = [UIImage alloc];


【讨论】:

【参考方案2】:

在目标 - c

[[UINavigationBar appearance] setBackgroundImage: [UIImage new]
                                   forBarMetrics: UIBarMetricsDefault];
self.navigationController.navigationBar.translucent = YES;
self.navigationController.navigationBar.shadowImage = [UIImage new];
[UINavigationBar appearance].tintColor = UIColor.clearColor;

在 Swift 5 中

UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarPosition: UIBarPosition.Any, barMetrics: UIBarMetrics.Default)
UINavigationBar.appearance().shadowImage = UIImage()
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
UINavigationBar.appearance().translucent = false
UINavigationBar.appearance().clipsToBounds = false

【讨论】:

你在哪里找到了在 UINavigationBar.appearance() 上调用 setBackgroundImage 和 shadowImage 的可能性? 我已经研究过了。

以上是关于如何删除 ios 14 的导航栏图像阴影? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 react-native IOS 中隐藏或删除阴影或底部边框

删除导航栏下方的阴影线而不删除栏颜色?

ios:如何删除导航栏上方的空白栏?

如何在导航栏ios上重叠图像

从 iOS 导航返回栏按钮中删除文本。

如何删除自定义导航栏图像?