UIAppearance 边缘插入
UIAppearance edge insets
我有一个 UIView
子类,我在我的应用程序(并且在第 3 方库中)中使用它来显示 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
永远不会非零!我需要在这里做一些特别的事情来支持通过 UIAppearance
设置 UIEdgeInsets
吗?
事实证明这是正确设置的,但由于我的 class 的性质,我试图使用它们来布置我的视图时它们不可用,因为它们 UIAppearance
值。在更新值以反映它们的 UIAppearance
值之前,似乎需要将视图添加到 window 层次结构!添加到 window 后移动我的布局代码以解决此问题!
我有一个 UIView
子类,我在我的应用程序(并且在第 3 方库中)中使用它来显示 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
永远不会非零!我需要在这里做一些特别的事情来支持通过 UIAppearance
设置 UIEdgeInsets
吗?
事实证明这是正确设置的,但由于我的 class 的性质,我试图使用它们来布置我的视图时它们不可用,因为它们 UIAppearance
值。在更新值以反映它们的 UIAppearance
值之前,似乎需要将视图添加到 window 层次结构!添加到 window 后移动我的布局代码以解决此问题!