addSubview不起作用

时间:2011-06-19 15:01:52

标签: iphone cocoa-touch

// 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不会产生错误或警告。但子视图根本没有显示。示例程序似乎与以前完全一样。希望有人知道可以提供帮助。

5 个答案:

答案 0 :(得分:15)

我发现设置背景颜色非常有用,因此我知道视图的位置和边界。

a_sub_view.backgroundColor = [UIColor redColor];

在您的示例中,您将创建一个空视图,这样您就不会“看到”任何内容。

答案 1 :(得分:3)

窗口需要添加一个viewcontrollers视图。

然后您可以将子视图添加到当前视图。

所以在你的例子中使用:

[self.view addSubview:a_sub_view];

答案 2 :(得分:3)

我正在使用它来“找到”窗口:

UIWindow *window = [[[UIApplication sharedApplication] delegate] window];
[window addSubview:myView];

这对我也有用,但有点丑陋:

[self.navigationController.tabBarController.view addSubview:myView];

为了解释第二个,我必须“跟随”控制器回到“顶部”视图。 (我的应用程序在当前选项卡中有一个带有导航控制器的标签栏。)

答案 3 :(得分:1)

如果您正在使用iOS 5&以上,你必须做如下:

[self.window.rootViewController.view addSubView:viewObject];

答案 4 :(得分:-1)

[self.view addSubView: a_sub_view];
相关问题