[英]Subviews not drawing in subclassed UIView
我有一个子类化的UIView,不会绘制它的子视图。 至少,它没有显示子视图。 整个视图是从笔尖加载的。
而且,奇怪的是,它不会绘制我在IB中设置的背景。 (我正在使用Xcode 4.2)。
但是它将绘制我在awakeFromNib
指定的父视图,例如背景,边框和角。
opaque
属性设置为NO
。 任何建议表示赞赏!
我认为,如果重写drawRect,可能会得到该结果。 尝试将其注释掉,看看会发生什么。 如果要绘制自己的内容并包括子视图,则可以通过在[super drawRect]
的开头调用[super drawRect]
来实现。
从笔尖加载视图时,例如使用
[[NSBundle mainBundle] loadNibNamed: owner:self]
您仍然需要将该加载的视图作为子视图添加到窗口中当前可见的视图之一,以使该视图可见。 拥有者可以使用它的出口来确保该视图已加载,并且您可以引用该视图-但这本身并不会导致将该视图作为子视图添加到所有者。
因此(假设self是父视图,而笔尖是所有者),请首先确保您确实在笔尖上设置了从所有者到要加载的视图的插座,然后再执行
[self addSubview:loadedView]
(加载的视图是笔尖中所有者为自己的视图)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.