Xcode在整个屏幕上添加子视图

时间:2011-07-25 13:25:46

标签: objective-c ios cocoa-touch uiview

我想使用addSubview方法在屏幕上添加新视图。但是,新视图还必须包含导航栏等,这意味着它应包括整个屏幕。我该怎么办?

每当我尝试添加子视图时,它总是会在导航栏下显示新视图。

我不想使用pushViewController或presentModelViewController,因为新添加的视图将是低不透明度,我可以看到背景,但我不想与像按钮表等背景对象交互。 对不起英语,我希望,我清楚地告诉我们有什么问题。

3 个答案:

答案 0 :(得分:17)

只需设置之前添加的视图的frame属性,并使用屏幕边界进行设置。

[myView setFrame:[[UIScreen mainScreen] bounds];
[self.navigationController.view addSubview:myView];

如果您想禁用与导航栏的互动:

[self.navigationController.navigationBar setUserInteractionEnabled:NO];

答案 1 :(得分:1)

您可以查看在根窗口上方添加另一个UIWindow。

答案 2 :(得分:0)

当我尝试使用navigationController.view addSubview时,它不会覆盖我的标签栏,所以我在我的app delegate窗口中执行了以下操作:

[self.window addSubview:myView];

如果您需要从另一个类访问您的appDelegate,您只需导入您的应用程序委托并从中调用它。