一見単純な問題ですが、解決策が見つかりません。ルート ビュー コントローラーである UIViewController のサブクラスと、呼び出されたときに子ビュー コントローラーとしてロードする 10 個の他の UIViewcontrollers があります (一度に 1 つずつ、一度に 10 個すべてを画面に表示するわけではありません)。
ルート コントローラにはいくつかのボタンがあり、そのアクションによってそれぞれのコードが呼び出され、子ビュー コントローラが表示されます。ルート ビュー コントローラーは 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 として自分自身に追加し、それをサブビューとしてルート ビューに追加しますが、機能しません。
誰でもこれを行う正しい方法を知っていますか?