我有点堆叠创建两个可切换的UIViews(每个UIView都有一些子视图) . 既然我没有IB,我想以编程方式做到这一点 .
我已经尝试将我的子视图添加到我的第一个UIView,然后与第二个相同,然后切换到这样的视图 .
if ([self.setView superview]) {
[self.setView removeFromSuperview];
[self.view addSubview:contentView];
self.navigationItem.title = @"BaseLine";
} else {
[self.contentView removeFromSuperview];
self.view = setView;
self.navigationItem.title = @"Settings";
}
但只有正常工作的是“ Headers ”,并且UIViews上没有任何内容 . UIView似乎没问题因为我使用的时候
self.view = contentView;
or
self.view = setView;
都正确显示子视图 .
请某人踢我正确的方向 .
TNX
编辑:也指出解决方案,我在loadView初始化可能有问题
CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
contentView = [[UIView alloc] initWithFrame:screenRect];
setView = [[UIView alloc] initWithFrame:screenRect];
self.view = contentView;
我试着先添加它[自我 . 查看添加..]但应用程序崩溃了,所以我使用了这个
EDIT2
根控制器是UITableViewController ..它在导航视图中,在选择一个单元格之后,这个带有两个UIVies的UIVieController(percView)被分配
ShakeControl *percView = [[ShakeControl alloc] init];
[self.navigationController pushViewController:percView animated:YES];
[percView release];
EDIT3开关是通过按钮完成的,但它很好,因为我多次使用它并且它工作
2 回答
这是一个视图控制器的例子,它做你想要的(我认为) . 这是非常基本的,只需在具有不同颜色背景的两个视图之间切换 . 但是,您可以在loadView方法中进一步自定义这些子视图,以显示您需要的任何内容 .
接口文件:
实施文件:
示例代码;