2014-09-24 71 views
-3

我是Xcode的新手。如何在ios中傳遞UIPageViewController中的數據

我想用UIPageViewController創建一個帶有單視圖的應用程序。

在此它有5個屏幕。

第一個屏幕有一個文本框,第二個屏幕有標籤和文本框等等。

當用戶在文本字段中輸入文本,然後將第一個 屏幕的文本框數據(即文本)滾動到第二個屏幕標籤等等。

請告訴我答案我搜索每一個在哪裏,甚至在stackoverflow.com上,並沒有發現 這樣的。

請幫幫我。

+0

您可以使用NSUserDefault保存數據時消失調用,並可以得到它時,會出現方法調用。 – Pawan 2014-09-24 06:31:27

+0

@PawanSharma如果你滿意我的答案,接受它 – sreekanthk 2014-09-24 06:51:28

回答

1

先來UIPageViewController和IB設置storyboard ID和一個奧瑟維尤控制器,它是一個簡單的UIViewController但記住它的名字作爲PageContentViewController即,這個視圖 - 控制持有5個viewcontrollersü要顯示。在PageContentViewController

聲明UIPageViewController *pageViewController;viewWillAppear:其storyboardID這樣

pageViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"storyboardID"];

初始化它,然後在5視圖 - 控制類導入此PageViewController類像這樣

爲它創建對象

#import "ViewController1";

#import "ViewController2";

#import "ViewController3";

#import "ViewController4";

#import "ViewController5";

和接口創建對象

ViewController1 *vcObj1;

ViewController2 *vcObj2;

ViewController3 *vcObj3;

ViewController4 *vcObj4;

ViewController5 *vcObj5;

,現在英寸米文件中viewWillAppear:方法現在設置這些5個viewcontrollers作爲對象在陣列這樣

[self setViewControllers:@[vcObj1, vcObj2, vcObj3, vcObj4, vcObj5] direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:NULL];

[self addChildViewController:_pageViewController]; 
[self.view addSubview:_pageViewController.view]; 
[self.pageViewController didMoveToParentViewController:self]; 

u必須pageviewcontroller委託設置爲pagecontentviewcontroller類和寫在.m文件

委託方法
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController { 

NSUInteger index = ((PageContentViewController*) viewController).pageIndex; 

if ((index == 0) || (index == NSNotFound)) { 
    return vcObj1; 
} 
else if(index == 1) { 
    return vcObj2; 
} 
else if(index == 2) { 
    return vcObj3; 
} 
else if(index == 3){ 
    return vcObj4; 
} 
else if(index == 4) { 
    return vcObj5; 
} 
index--; 
return [self viewControllerAtIndex:index]; 
} 

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController 
{ 
NSUInteger index = ((PageContentViewController*) viewController).pageIndex; 

if (index == NSNotFound) { 
    return nil; 
} 

index++; 
if (index == 0) { 
    return vcObj5; 
} 
else if(index == 1) { 
    return vcObj4; 
} 
else if(index == 2) { 
    return vcObj3; 
} 
else if(index == 3){ 
    return vcObj2; 
} 
else if(index == 4) { 
    return vcObj1; 
} 
index++; 
return [self viewControllerAtIndex:index]; 
} 

如果你已經寫了這兩個委託方法正確你的功能完成,因爲這兩個是完全控制pageviewcontroller的主要。我不確定這些指標,只是試用一次,根據你的要求改變指標。

快樂編碼

+0

,但我沒有越來越[自我setViewController ...]在我ViewWill出現... – 2014-09-24 07:17:19

+0

你可以告訴我在哪個類的.m文件我必須這樣做嗎? ?? – 2014-09-24 07:18:14

+0

感謝代碼... – 2014-09-24 07:19:18

相關問題