通过IB将自定义视图放在视图控制器的基本视图之上

时间:2011-11-23 15:52:55

标签: objective-c cocoa-touch uiview uiviewcontroller interface-builder

我有一个带有UIView的视图控制器和在XIB中配置的导航控制器。

现在我创建了一个自定义UIView,并希望它位于另一个视图的顶部。所以我在第一个视图的顶部添加了一个视图,并将该类更改为我的(DrawableUIVIew)。我的自定义视图中没有更改或设置的内容都没有出现。

这就是我添加自定义视图的方式:

Screenshot of xib layout

自定义UIView允许触摸(确实被检测到),然后绘制线条(不会发生)。 只有我可以得到它的方法是使用:

self.view = [[DrawableUIView alloc] init];

但这会删除导航栏,因此无用。

如何在可视化编辑器中的视图控制器标准视图上方添加自定义UIView

2 个答案:

答案 0 :(得分:1)

如果您使用ARC

[self.view addSubview:[[DrawableUIView alloc]init]];

如果不这样做

DrawableUIView *myView = [[DrawableUIView alloc]init]];
[self.view addSubview:myView];
[myView release];

答案 1 :(得分:0)

我通过简单地覆盖自定义UIView

中的initWithCoder:(NSCoder *)aDecoder方法解决了这个问题