2014-09-24 39 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

相关问题