// Create and add a sub view
CGRect viewRect = CGRectMake(0, 0, 200, 200);
UIView *a_sub_view = [[UIView alloc] initWithFrame : viewRect];
[window addSubview : a_sub_view];
在添加了上述3行代码之后,xcode没有产生任何错误或警告。但是子视图根本没有显示出来。示例程序似乎与之前完全相同。希望有知识的人能够帮忙。
// Create and add a sub view
CGRect viewRect = CGRectMake(0, 0, 200, 200);
UIView *a_sub_view = [[UIView alloc] initWithFrame : viewRect];
[window addSubview : a_sub_view];
我发现设置背景色很有用,这样我就知道视图和边界在哪里了。
a_sub_view.backgroundColor = [UIColor redColor];
在你的例子中,你创建了一个空视图,所以你不会‘看’到任何东西。窗口期望添加视图控制器的视图。
您可以在当前视图中添加子视图。
因此,在您的示例中使用:
[self.view addSubview:a_sub_view];
我正在使用这个方法来“查找”窗口:
UIWindow *window = [[[UIApplication sharedApplication] delegate] window];
[window addSubview:myView];
[self.navigationController.tabBarController.view addSubview:myView];
[self.window.rootViewController.view addSubView:viewObject];
[self.view addSubView: a_sub_view];
a_sub_view
是一个普通的UIView
,它实际上并没有绘制任何东西。你需要实例化一个自定义子类或其他内置子类,如UIButton
。 - Daniel Dickisonwindow
是什么类型的对象? - 0x90