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

时间:2015-08-02 15:51:46

标签: ios swift uistoryboard uicontrol

我跟着this tutorial构建了一个子类UIControl的自定义滑块。当控件以编程方式插入视图时,它的工作效果很好,具有确切的大小,位置等。

但是,我想使用Storyboard直观地对齐视图的组件,因此我将@IBDesignable@IBInspectable添加到自定义滑块类中。这是我的问题:

  1. 在故事板中,我添加了自定义滑块,并为“超级视图的尾随空间”和“超级视图的前导空间”添加了约束。
  2. 但是,当我在我的设备上运行它时,最初它不遵守上面设置的约束,直到我与滑块交互(触摸按钮)并突然强制执行约束。 / LI>
  3. 我尝试在setNeedsDisplay方法中调用init (coder: NSCoder),但没有任何作用。
  4. 有谁知道为什么会发生这种情况以及如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

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

但当然,底层错误是故事板中的错误配置。 (通过这个平台很难调试。)