我有一个UIView
子类,可在我的应用程序中使用(并且在第3方库中)以显示吐司通知。我想对正在使用的另一个应用程序进行一些修改,因此我要通过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 = .zero
visibleDuration
在这里工作正常,并且由ToastView.appearance().visibleDuration = 6
设置,但是margins
永远不会非零!为了支持通过UIEdgeInsets
设置UIAppearance
,我需要在这里做些特别的事情吗?
答案 0 :(得分:0)
事实证明这是正确设置的,但是由于班级的性质,我试图使用它们来布置我的视图的时候,它们不能作为其UIAppearance
值使用。似乎需要在更新值以反映其UIAppearance
值之前将视图添加到窗口层次结构中!将我的布局代码移到要添加到窗口中的位置后,即可解决此问题!