自定义UIControl(滑块)在与之交互之前不遵守约束



我按照本教程构建了一个自定义滑块,它是UIControl的子类。当控件以编程方式插入到视图中时,它工作得很好,具有精确的大小,位置等。

然而,我想使用Storyboard在视觉上对齐我的视图组件,所以我将@IBDesignable@IBInspectable添加到自定义滑块类中。我的问题是:

    在故事板中,我添加了自定义滑块,并添加了"尾随空间到父视图"one_answers"前导空间到父视图"的约束。
  1. 然而,当我在我的设备上运行它时,最初它不尊重上面设置的约束,,直到我与滑块(触摸按钮)交互,突然约束被强制执行。
  2. 我试图在init (coder: NSCoder)方法中调用setNeedsDisplay,但没有任何作用。

有没有人知道为什么会发生这种情况,我该如何解决它?

init中调用setNeedsDisplay显然为时过早。尝试viewWillAppear,并尝试在控制器的view上调用layoutSubviews

但是当然,潜在的错误是故事板中的错误配置。

最新更新