2009-07-14 90 views
0

我想创建一个存储在笔尖的自定义UIView,以便我可以使用Interface Builder对其进行定位。iPhone自定义UIView边界

我创建了一个名为RippleView的类来扩展UIView。我想使用Interface Builder将此视图定位为子视图。为此,我将一个新视图拖入Interface Builder中的现有视图中,并为其提供了RippleView类标识。然后我将我的RippleView插座连接到我刚刚创建的视图。

在RippleView类中,我实现了initWithCoder,除了调用[super initWithCoder ...]之外,它没有执行任何其他操作。在awakeFromNib中,我继续并初始化我的代码。

现在,由于某种原因,如果我尝试检查在awakeFromNib中的RippleView的边界,我得到荒谬的值(0宽度和1081171968高度)。这些边界在drawRect中不会改变,所以我不认为这是视图未被初始化的问题。我在touchesMoved事件处理函数中获得了类似的值。

当我以编程方式创建子视图(initWithFrame)时,我没有任何问题。什么可能导致框架边界出现故障?

回答

2

解决!这个问题与代码无关。 UIView边界是浮动,我打印它们为整数。正是这样的事情将程序员与退路分开:p

0

你可以发布你的initWithCoder:实现吗?如果你没有设置self值,或者你的initWithCoder拼写错误,你可能会遇到这些问题。你有没有尝试在initWithCoder中设置一个断点:确保它被调用?