我有一个私有的pod,里面有我的资源目录。其中有一个命名颜色,设定了“任何外观”和“深色外观”的值。在我消费该pod的主项目中,我可以设置颜色
当我在暗模式和亮模式之间切换界面样式时,它在storyboard中看起来甚至是正确的。问题是当我运行代码时,它只使用亮色外观,即使在暗模式下也是如此。更令人困惑的是,如果我通过代码设置颜色,例如viewDidLoad
,它会按预期工作。
let bundle = Bundle(for: PrivatePodClass.self)
let color = UIColor(named: "tableViewSectionHeader", in: bundle, compatibleWith: nil)
// Works
view.backgroundColor = color
我不确定这是否是XCode 11的问题还是cocoapods的问题,但如果可以的话,我希望不必通过代码强制设置颜色。
compatibleWith:
参数中添加traitCollection
了吗?我认为根据traitcollection外观更新的颜色是UIDynamicColor(或类似的东西)。因此,如果您不传递traitcollection,则会使用标准外观。 - henrik-dmg