我有一个UIView子类,我在我的应用程序中(在第三方库中)用它来显示吐司通知。我想为我正在开发的另一个应用程序稍微修改一下,所以我通过UIAppearance添加了样式属性。我有一些工作,但他们中的一些人拒绝正常工作!
/// The visible duration of the toast view
@objc public dynamic var visibleDuration: CGFloat = 2.0
/// The margins to apply around the toast view
@objc public dynamic var margins: UIEdgeInsets = .zerovisibleDuration在这里运行得很好,并且是由ToastView.appearance().visibleDuration = 6设置的,但margins永远不是非零!为了支持通过UIAppearance设置UIEdgeInsets,我需要做一些特殊的事情吗
发布于 2019-06-16 17:23:37
事实证明,这是正确设置的,但由于我的类的性质,我试图使用它们来布置视图时,它们不能用作UIAppearance值。在更新这些值以反映其UIAppearance值之前,似乎需要将视图添加到窗口层次结构中!移动我的布局代码后发生的添加到窗口修复了这个问题!
https://stackoverflow.com/questions/56322909
复制相似问题