我正在上编程课(新手),我需要以编程方式创建UIViewController
graphViewController
的视图(没有接口构建器)。
视图很简单,它只包含一个IBOUtlet
,它是UIView
子类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];
}
当我运行应用程序时,我没有看到graphView
视图在那里。我只得到一个透明的视图,显示"我的通用应用程序"标签。我难住了。请帮助。
如果你需要额外的代码,请告诉我。
谢谢!
更新:非常感谢BJ荷马的快速修复!
必须执行以下操作:
在末尾添加这行代码:[self.view addSubview:self.graphView];
。
我也得到了这个奇怪的bug, graphView
显示为完全黑色。这行代码修复了:self.graphView.backgroundColor = [UIColor whiteColor];
就是这样!
最后一个问题:自定义UIView的默认背景色是黑色吗?
再次感谢!
[self.view addSubview:self.graphView];
直到你把你的图形视图添加到父视图,UIKit不知道在哪里显示它。self.view
是特殊的,因为这是-loadView
应该设置的属性。该视图将自动添加到屏幕上。但是你的图形视图只是漂浮在以太中,直到你把它添加到某个地方。