我是Xcode的新手。如何在ios中传递UIPageViewController中的数据
我想用
UIPageViewController
创建一个带有单视图的应用程序。在此它有5个屏幕。
第一个屏幕有一个文本框,第二个屏幕有标签和文本框等等。
当用户在文本字段中输入文本,然后将第一个 屏幕的文本框数据(即文本)滚动到第二个屏幕标签等等。
请告诉我答案我搜索每一个在哪里,甚至在stackoverflow.com上,并没有发现 这样的。
请帮帮我。
回答
先来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的主要。我不确定这些指标,只是试用一次,根据你的要求改变指标。
快乐编码
,但我没有越来越[自我setViewController ...]在我ViewWill出现... – 2014-09-24 07:17:19
你可以告诉我在哪个类的.m文件我必须这样做吗? ?? – 2014-09-24 07:18:14
感谢代码... – 2014-09-24 07:19:18
- 1. iOS:如何将数据传递给applicationDidFinishLaunching:?
- 2. 如何将数据传递给ios中的父类?
- 3. 如何访问iOS通知中传递的数据(简单)?
- 4. IOS中的uipageviewcontroller和uiwebview
- 5. iOS:传递数据错误
- 6. Objective c iOS传递数据
- 7. 在新版iOS中,dvc无法在textview中传递NSString数据?
- 8. 如何将数据从UIPageViewController传递给使用委托的子ViewController
- 9. 在JavaScript中传递数据
- 10. 在ASP.NET中传递数据
- 11. 在Swift3中传递数据
- 12. 在haskell中传递数据
- 13. UIPageViewController中的UINavigationController中的iOS MKMapview
- 14. 将请求数据从UIPageViewController传递给子视图
- 15. 如何在角度2中传递模板中的数据?
- 16. 如何在angularjs中传递$ http.post中的不同数据?
- 17. iOS - 如何在快车道快照中传递构建参数
- 18. 如何在iOS和TvOS应用程序之间传递数据?
- 19. 如何在Laravel中的多维数组中有数据时传递数据?
- 20. UIPageViewController在iOS中自动滚动
- 21. 如何通过在ibatis中传递的数据调用函数
- 22. 如何在AJAX成功函数中传递额外的数据?
- 23. 如何在iOS中不断向其他应用程序传递数据?
- 24. 如何在函数中传递函数?
- 25. 如何在函数中传递参数?
- 26. JavaScript中 - 如何通过Json传递数据通过数据传递
- 27. 如何将数据从didLoadObjects中的数据传递到cellForRowAtIndexPath
- 28. 如何表变量数据传递到数据流中的SSIS
- 29. 未在Swift中传递的数据
- 30. 在AngularJS中传递属性的数据
您可以使用NSUserDefault保存数据时消失调用,并可以得到它时,会出现方法调用。 – Pawan 2014-09-24 06:31:27
@PawanSharma如果你满意我的答案,接受它 – sreekanthk 2014-09-24 06:51:28