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

Swift开发教程--如何在别的类中调用AppDelegate中的方法

如何使用swift获取appdelegate中的当前位置