我有一个看似简单的问题,但我找不到解决方案!我有一个 UIViewController 的子类,它是我的根视图控制器,还有十个不同的 UIViewcontrollers,我想在调用时作为子视图控制器加载(一次一个,而不是同时在屏幕上显示十个。)
根控制器有几个按钮,它们的动作调用相应的代码来调出子视图控制器。根视图控制器首先由 nib 加载,我想用 page01ViewController 作为第一个孩子来实例化它。但是每当我调用以下代码时,子视图控制器就会覆盖在我的 rootViewController 之上,将所有控制按钮隐藏在我的根控制器中!
// RDJrootPageViewController.m
#import "RDJrootPageViewController.h"
#import "RDJhomeScreenViewController.h"
#import "RDJpage01ViewController.h"
#import "RDJpage02ViewController.h"
#import "RDJpage03ViewController.h"
#import "RDJpage04ViewController.h"
#import "RDJpage05ViewController.h"
#import "RDJpage06ViewController.h"
#import "RDJpage07ViewController.h"
#import "RDJpage08ViewController.h"
#import "RDJpage09ViewController.h"
#import "RDJpage10ViewController.h"
@interface RDJrootPageViewController ()
@property (retain, nonatomic) RDJhomeScreenViewController *homeScreenViewController;
@property (retain, nonatomic) RDJpage01ViewController *page01ViewController;
@property (retain, nonatomic) RDJpage02ViewController *page02ViewController;
@property (retain, nonatomic) RDJpage03ViewController *page03ViewController;
@property (retain, nonatomic) RDJpage04ViewController *page04ViewController;
@property (retain, nonatomic) RDJpage05ViewController *page05ViewController;
@property (retain, nonatomic) RDJpage06ViewController *page06ViewController;
@property (retain, nonatomic) RDJpage07ViewController *page07ViewController;
@property (retain, nonatomic) RDJpage08ViewController *page08ViewController;
@property (retain, nonatomic) RDJpage09ViewController *page09ViewController;
@property (retain, nonatomic) RDJpage10ViewController *page10ViewController;
@end
@implementation RDJrootPageViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
currentPage = 1;
self.page01ViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"page01"];
[_page01ViewController.view setFrame:CGRectMake(0, 0, 1024, 768)];
[self addChildViewController:_page01ViewController];
[self.view addSubview:_page01ViewController.view];
[_page01ViewController didMoveToParentViewController:self];
[self.view setUserInteractionEnabled:YES];
}
我的问题与此处提出的问题类似,但从未确定过解决方案:
我找到的每个教程都有相同的设置:创建新的 VC,将其作为 childView 添加到 self,然后将其作为子视图添加到根视图,但它不起作用。
有人知道这样做的正确方法吗?