在UIPageViewController中获取UITextField值

时间:2015-06-02 05:21:24

标签: ios objective-c uipageviewcontroller

这是我在这里的第一个问题所以请耐心等待,(我正在寻找几天,但我找不到任何答案!TT)我也是IOS开发的新手,很抱歉如果我的条款有误,我需要在我的应用中获得UITextField的值。我正在使用UIPageViewController和2个视图控制器:

第一个View Controller是使用UIPageViewControllerDataSource的根视图,这是我UIPageViewController声明的地方。 第二个视图是页面视图,这个视图里面有2个UITextFields。 所以在我的应用程序中,我有两个页面都使用第二个视图控制器。

我的第一个问题是,我无法使用根视图类获取UITextFields'值,但后来我通过在我的.m中声明UIPageViewController找到了一种方法。 rootviewcontroller界面,所以我想我是按照自己的方式解决的。

但是,我在转到下一页之前点击一个按钮就可以获得这个值。当我转到下一页而不点击按钮时,我是否可以获得UITextField值? 接下来,当我转到下一页并返回第一页时,当我单击该按钮时,它不再获得UITextField值。

因此,通过在每个页面的第一个UITextField上标识占位符,我可以获得UITextField值。

我有viewControllerBeforeViewControllerviewControllerAfterViewController方法,但是他们的行为很奇怪..当我多次来回转换页面时,在我的应用程序中调用此方法是不准确的不调用此方法。

另外,我使用此网站http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/作为创建此网站的指南。

希望有人能帮助我......谢谢!

3 个答案:

答案 0 :(得分:0)

您可以使用 NSUserDefaults 来保存TextField的值。

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("TextField value", forKey: "nameKey")

并获取值

let name = defaults.stringForKey("nameKey")

保存值后,您可以在整个项目中使用它。

答案 1 :(得分:0)

UIPageViewController具有viewControllers属性。您可以访问它以获取UIViewController的数组。使用此功能,您将能够访问SecondViewController

pageViewController.viewControllers[1]会为您提供第一个SecondViewController的实例。只需确保在textField中全局声明SecondViewController,您就可以访问它以检索输入的文本。

此外,帕迪的答案也应该有效。为两个textField提供两个不同的密钥,并分别访问它们。

答案 2 :(得分:0)

好的!我完全解决了这个问题以及上面这些人的帮助!谢谢你的建议!你对我这么大的帮助!我所做的只是我为页面制作了两个viewcontroller,所以我不需要我的UItextfield共享两个输入!谢谢!!!