在UIViewController中添加自定义UIView - (void)loadView(Objective-C)

时间:2011-09-09 04:29:30

标签: uiviewcontroller subview loadview

我正在学习编程课程(对于noobs)我需要以编程方式创建UIViewController graphViewController视图(没有界面构建器)。

视图很简单,它只包含IBOUtlet,它是名为UIView的{​​{1}}子类的实例。 GraphView响应几个多点触控手势进行缩放和平移以及什么不是,但我处理了graphView中的所有内容。

我只是在下面的代码中创建- (void)viewDidLoad属性和self.view

graphView

当我运行应用时,我看不到- (void)loadView { UIView *gvcView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; self.view = gvcView; [gvcView release]; GraphView *aGraph = [[GraphView alloc] initWithFrame:self.view.bounds]; self.graphView = aGraph; [aGraph release]; } 视图。我只是得到一个透明的视图,显示“我的通用应用程序”标签。我很难过。请帮忙。

如果您需要其他代码,请与我们联系。

谢谢!

更新:非常感谢BJ Homer快速解决问题!

必须执行以下操作:

在最后添加以下代码:graphView

我也得到了这个奇怪的错误,其中[self.view addSubview:self.graphView];显示为完全黑色。这行代码修正了:graphView

就是这样!

最后一个问题:自定义UIView的默认背景颜色是黑色吗?

再次感谢!

1 个答案:

答案 0 :(得分:1)

[self.view addSubview:self.graphView];

在将图表视图添加到父视图之前,UIKit不知道在哪里显示它。 self.view很特殊,因为这是-loadView应该设置的属性。该视图将自动添加到屏幕中。但是您的图表视图只是在以太网中浮动,直到您将其添加到某处。