AppDelegate 中的 Swift UITabbar 阴影
Posted
技术标签:
【中文标题】AppDelegate 中的 Swift UITabbar 阴影【英文标题】:Swift UITabbar Shadow in AppDelegate 【发布时间】:2018-12-24 07:38:41 【问题描述】:我尝试将阴影应用到默认标签栏。我从研究中找到了一些代码,但它不起作用。我想将此代码放在 AppDelegate 中以应用于所有控制器。
错在哪里?提前致谢
UITabBar.appearance().layer.shadowColor = UIColor.yellow.cgColor
UITabBar.appearance().layer.shadowOffset = CGSize(width: 0.0, height: 2.0)
UITabBar.appearance().layer.shadowRadius = 15
UITabBar.appearance().layer.shadowOpacity = 1
UITabBar.appearance().layer.masksToBounds = false
【问题讨论】:
【参考方案1】:试试这个
第 1 步 - 像这样在 TabBarViewController 中创建函数 setupTabBar
func setupTabBar()
tabBar.layer.shadowColor = UIColor.yellow.cgColor
tabBar.layer.shadowOffset = CGSize(width: 0.0, height: 2.0)
tabBar.layer.shadowRadius = 15
tabBar.layer.shadowOpacity = 1
tabBar.layer.masksToBounds = false
第 2 步 - 从 viewDidLoad 调用
或者你可以创建自定义 TabBarViewController 类或创建你想要的。
【讨论】:
【参考方案2】:从 AnyTool 创建阴影颜色的图像,或者您可以通过编程方式完成。
之后在 AppDelegate 中使用下面的代码
//Set Shadow Color
UITabBar.appearance().shadowImage = YOURSHADOWIMAGE
【讨论】:
【参考方案3】:尝试使用 self.tabBar.layer 而不是 UITabBar.appearance()
【讨论】:
以上是关于AppDelegate 中的 Swift UITabbar 阴影的主要内容,如果未能解决你的问题,请参考以下文章
AppDelegate Swift 中的 reloadData
AppDelegate 中的 Swift UITabbar 阴影
类 AppDelegate: UIResponder, UIApplicationDelegate SWIFT 中的 SIGABIRT 错误
如何在 Swift 中的 AppDelegate 中抓取 Viewcontroller