我正在尝试创建一个存储在笔尖中的自定义 UIView,以便我可以使用 Interface Builder 定位它。
我创建了一个名为 RippleView 的类,它扩展了 UIView。我想使用 Interface Builder 将此视图定位为子视图。为此,我将一个新视图拖到了 Interface Builder 中的现有视图中,并为其赋予了 RippleView 类标识。然后我将我的 RippleView 插座链接到我刚刚创建的视图。
在 RippleView 类中,我实现了 initWithCoder,它除了调用 [super initWithCoder...] 之外什么都不做。在 awakeFromNib 中,我继续初始化我的代码。
现在,由于某种原因,如果我尝试在 awakeFromNib 中检查 RippleView 的边界,我会得到荒谬的值(0 宽度和 1081171968 高度)。这些边界在drawRect中没有改变,所以我认为这不是视图未初始化的问题。我在 touchesMoved 事件处理程序中得到了类似的值。
当我以编程方式创建子视图(initWithFrame)时,我没有遇到任何问题。什么可能导致框架边界失控?