2017-08-22 4 views
0

ユーザーが初めてアプリケーションを開くときに表示される「チュートリアル」ページを作成しました。私はストーリーボードのView Controllerの別の「支店」に移動する方法についての問題に直面しています。あなたはスクリーンショットからiOS obj-cがUIPageViewControllerから移動する

Screen Shot

の下に見ることができるように、問題は、どのように私のメインに移動している

1. Page View Controllers 
2. Main app view controllers 

だから基本的に私は、主に2つの私のストーリーボードに流れを持っていますユーザがUIPageViewControllerからスキップボタンをクリックした後のアプリケーションの流れ?私のチュートリアルページビューコントローラで

、私はページビューコントローラ

- (void)viewDidLoad { 
[super viewDidLoad]; 
self.arrPageTitles = @[@"A",@"B",@"C"]; 
self.arrPageImages [email protected][@"1.jpg",@"2.jpg",@"3.jpg"]; 

// Create page view controller 
self.PageViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"pageViewController"]; 
self.PageViewController.dataSource = self; 

TutorialPageContentViewController *startingViewController = [self viewControllerAtIndex:0]; 
NSArray *viewControllers = @[startingViewController]; 
[self.PageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil]; 

// Change the size of page view controller 
self.PageViewController.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height - 30); 

[self addChildViewController:self.PageViewController]; 
[self.view addSubview:self.PageViewController.view]; 
[self.PageViewController didMoveToParentViewController:self]; 
} 

それともこれを達成するための任意のより良い方法があるに設定するには、このコードを持っていますか?私のデザインは間違っていますか?

私は手がかりを探していますが、何も見つかりません。ありがとう!

答えて

1

まず、チュートリアルのフローとメインのアプリ画面に異なるストーリーボードを使用することをおすすめします。 1つのストーリーボードにすべてを保存するのは非常に難しいです。プロジェクトに少なくとも20〜30のビューコントローラが必要なときに混乱するでしょう。

そして、あなたは、このコードを使用して、いつでもルートビューコントローラを置き換えることができます。

let storyboard = UIStoryboard(name: "<storyboard_name>", bundle: nil) 
let viewController = storyboard.instantiateViewController(withIdentifier: "<vc_name>") 
UIApplication.shared.keyWindow?.rootViewController = viewController 
関連する問題