Iphone 切换视图时未正确绘制视图
我的应用程序由3个视图组成。我在Iphone 切换视图时未正确绘制视图,iphone,xcode,Iphone,Xcode,我的应用程序由3个视图组成。我在AppDelegate中定义了3个helper方法来在每个视图之间切换(这样每个视图都可以调用另一个视图),如下所示: -(IBAction)goToView1 { if ( view1 == nil ) { View1 *thisView = [[View1 alloc] initWithNibName:@"View1" bundle:nil]; view1 = thisView; } for (
AppDelegate
中定义了3个helper方法来在每个视图之间切换(这样每个视图都可以调用另一个视图),如下所示:
-(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];
}
如果用户想要切换到另一个视图,我会将一个按钮绑定到视图控制器中定义的iAction
:
-(IBAction)goToOtherView:(id)sender {
ViewSwitcherAppDelegate *root = [[UIApplication sharedApplication] delegate];
[root goToView1];
}
这一切对于切换视图都很好,但当绘制视图时,视图显示不正确,就像忽略状态栏一样:
我做错了什么
它在应用程序启动时呈现良好,因此我怀疑我将子视图添加到窗口的方式有问题
提前谢谢 因为您没有使用视图的控制器来显示它,所以您必须自己调整视图的框架。您必须将其原点设置为{0,20},以考虑状态栏的空间
但最好使用UIViewController并将其推到UINavigationController上 因为您没有使用视图的控制器来显示它,所以您必须自己调整视图的框架。您必须将其原点设置为{0,20},以考虑状态栏的空间
但最好使用UIViewController并将其推到UINavigationController上 是否设置视图的框架属性?如果是的话,你能给我们看一下密码吗?我不知道。视图是使用默认值创建的。下面是一个展示了相同行为的示例项目(使用SDK 3.0):您是否设置视图的frame属性?如果是的话,你能给我们看一下密码吗?我不知道。视图是使用默认值创建的。下面是一个展示了相同行为的示例项目(使用SDK 3.0):谢谢-我采纳了您的建议,并重构了设计,以使用UINavigationController。谢谢-我采纳了您的建议,并重构了设计,以使用UINavigationController。