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



我正在上编程课(新手),我需要以编程方式创建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应该设置的属性。该视图将自动添加到屏幕上。但是你的图形视图只是漂浮在以太中,直到你把它添加到某个地方。

相关内容

  • 没有找到相关文章

最新更新