我的应用包含3个视图。我已在AppDelegate
中定义了3个辅助方法,以在每个视图之间切换(以便每个视图可以调用另一个视图),如下所示:
-(IBAction)goToView1 {
if ( view1 == nil )
{
View1 *thisView = [[View1 alloc] initWithNibName:@"View1" bundle:nil];
view1 = thisView;
}
for (UIView *view in window.subviews)
[view removeFromSuperview];
[window addSubview:view1.view];
}
如果用户想切换到另一个视图,我将按钮绑定到视图控制器中定义的IBAction
:
-(IBAction)goToOtherView:(id)sender {
ViewSwitcherAppDelegate *root = [[UIApplication sharedApplication] delegate];
[root goToView1];
}
这一切都适用于切换视图,但是当绘制视图时,它显示不正确,就像忽略状态栏一样:
我做错了什么?
当应用程序启动时呈现正常,所以我怀疑将子视图添加到窗口的方式有问题。
提前致谢!
答案 0 :(得分:1)
由于您没有使用视图的控制器来显示它,您必须自己调整视图的框架。您必须将其原点设置为{0,20}以考虑状态栏的空间。
但是你最好使用UIViewController并在UINavigationController上推送它。 See the docs.