如何删除 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 的导航栏图像阴影? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章