UIAppearance边缘插图

时间:2019-05-27 09:06:13

标签: ios swift styling uiappearance

我有一个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,我需要在这里做些特别的事情吗?

1 个答案:

答案 0 :(得分:0)

事实证明这是正确设置的,但是由于班级的性质,我试图使用它们来布置我的视图的时候,它们不能作为其UIAppearance值使用。似乎需要在更新值以反映其UIAppearance值之前将视图添加到窗口层次结构中!将我的布局代码移到要添加到窗口中的位置后,即可解决此问题!