我有一个UIView子类,在我的应用程序中(在第三方库中)用于显示toast通知。我想为我正在开发的另一个应用程序稍微修改一下,所以我将通过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

最佳答案

事实证明这是正确设置的,但是由于我的类的性质,我试图用它们来布局我的视图的点,它们不能作为它们的UIAppearance值。在更新值以反映其UIAppearance值之前,似乎需要将视图添加到窗口层次结构中!在我的布局代码周围移动发生后,添加到窗口修复了这个!

关于ios - UIAppearance边缘插图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56322909/

10-10 10:11