gpt4 book ai didi

ios - Interface Builder 构建中的命名颜色崩溃

转载 作者:行者123 更新时间:2023-12-01 15:28:03 26 4
gpt4 key购买 nike

在我正在开发的应用程序中,我们使用 named colors管理我们的配色方案,我们在代码中使用如下:

extension UIColor {
static let primaryColor = UIColor(named: "primaryColor")!
}

这在大多数地方都可以正常工作,但是当我们在 Interface Builder 中加载的自定义 View 中的某处将其用作默认值时会中断,因为无法在 Interface Builder 构建中加载包含颜色的 Assets 目录。

我们现在考虑了一些解决方法来避免强制展开,但实际上我们希望 Assets 目录像其他任何地方一样简单地加载到 Interface Builder 构建中。

有没有办法做到这一点?

编辑:

澄清一下,当通过 Interface Builder 中的 UI 设置颜色时,颜色很好。当我们在这样的代码中设置它时会发生崩溃:
class CustomView: UIView {
init() {
self.backgroundColor = .primaryColor
}
}

编辑 2:

我提交了一个雷达:rdar://41244137

最佳答案

当我使用 Bundle(for: AppDelegate.self) 时,命名颜色在 Interface Builder 中工作正常而不是默认捆绑包( Bundle.main ):
UIColor(named: "primaryColor", in: Bundle(for: AppDelegate.self), compatibleWith: nil)

关于ios - Interface Builder 构建中的命名颜色崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50851953/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com