在 UIPageViewController 中获取 UITextField 值
Getting UITextField value in UIPageViewController
这是我的第一个问题,所以请耐心等待,(我搜索了好几天,但找不到任何答案!T.T)我也是 IOS 开发的新手,很抱歉,如果我弄错了条款,我需要在我的应用程序中获取 UITextField
的值。我正在使用 UIPageViewController
和 2 个视图控制器:
第一个视图控制器是使用 UIPageViewControllerDataSource
的根视图,这是我的 UIPageViewController
声明的地方。
第二个视图是页面视图,在这个视图里面有 2 个 UITextFields。
所以在我的应用程序中,我有 2 个页面都使用第二个视图控制器。
我的第一个问题是,我无法使用根视图 class 获取 UITextFields
' 的值,但后来我找到了通过声明 UIPageViewController
来实现的方法在我的 rootviewcontroller
界面的 .m 中,所以我想我用自己的方式解决了它。
但是,我是通过在翻到下一页之前单击一个按钮来获取这些值的,无论如何,当我翻到下一页而不单击按钮时,我是否可以获得 UITextField
值?
接下来是,当我转到下一页并返回第一页时,当我单击按钮时,它不再获得 UITextField
值。
因此,我能够通过识别每页第一个 UITextField
上的占位符来获得 UITextField
值。
我有 viewControllerBeforeViewController
和 viewControllerAfterViewController
方法,但是它们的行为很奇怪.. 当我来回翻页很多次时,在我的应用程序中调用这个方法是不准确的未调用此方法之一。
另外,我使用这个网站 http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/ 作为我创建它的指南。
希望有人能帮助我……谢谢!
您可以使用 NSUserDefaults 来保存您的 TextField 的值。
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("TextField value", forKey: "nameKey")
并获取值
let name = defaults.stringForKey("nameKey")
保存该值后,您可以在整个项目中使用它。
UIPageViewController
有 viewControllers
属性。您可以访问它以获取 UIViewController
的数组。使用它,您将能够访问 SecondViewController
s。
pageViewController.viewControllers[1]
会给你第一个 SecondViewController
的实例。只需确保在 SecondViewController
中全局声明 textField
,您就可以访问它以检索输入的文本。
此外,Paddy 的回答也应该有效。为两个 textField
设置两个不同的密钥并分别访问它们。
好的!我自己解决了这一切,并得到了上面这些人的帮助!谢谢大佬指教!你对我帮了大忙!!!我所做的只是为页面制作了两个 viewcontroller,所以我不需要我的 UItextfield 共享两个输入!谢谢!!!
这是我的第一个问题,所以请耐心等待,(我搜索了好几天,但找不到任何答案!T.T)我也是 IOS 开发的新手,很抱歉,如果我弄错了条款,我需要在我的应用程序中获取 UITextField
的值。我正在使用 UIPageViewController
和 2 个视图控制器:
第一个视图控制器是使用 UIPageViewControllerDataSource
的根视图,这是我的 UIPageViewController
声明的地方。
第二个视图是页面视图,在这个视图里面有 2 个 UITextFields。
所以在我的应用程序中,我有 2 个页面都使用第二个视图控制器。
我的第一个问题是,我无法使用根视图 class 获取 UITextFields
' 的值,但后来我找到了通过声明 UIPageViewController
来实现的方法在我的 rootviewcontroller
界面的 .m 中,所以我想我用自己的方式解决了它。
但是,我是通过在翻到下一页之前单击一个按钮来获取这些值的,无论如何,当我翻到下一页而不单击按钮时,我是否可以获得 UITextField
值?
接下来是,当我转到下一页并返回第一页时,当我单击按钮时,它不再获得 UITextField
值。
因此,我能够通过识别每页第一个 UITextField
上的占位符来获得 UITextField
值。
我有 viewControllerBeforeViewController
和 viewControllerAfterViewController
方法,但是它们的行为很奇怪.. 当我来回翻页很多次时,在我的应用程序中调用这个方法是不准确的未调用此方法之一。
另外,我使用这个网站 http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/ 作为我创建它的指南。
希望有人能帮助我……谢谢!
您可以使用 NSUserDefaults 来保存您的 TextField 的值。
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("TextField value", forKey: "nameKey")
并获取值
let name = defaults.stringForKey("nameKey")
保存该值后,您可以在整个项目中使用它。
UIPageViewController
有 viewControllers
属性。您可以访问它以获取 UIViewController
的数组。使用它,您将能够访问 SecondViewController
s。
pageViewController.viewControllers[1]
会给你第一个 SecondViewController
的实例。只需确保在 SecondViewController
中全局声明 textField
,您就可以访问它以检索输入的文本。
此外,Paddy 的回答也应该有效。为两个 textField
设置两个不同的密钥并分别访问它们。
好的!我自己解决了这一切,并得到了上面这些人的帮助!谢谢大佬指教!你对我帮了大忙!!!我所做的只是为页面制作了两个 viewcontroller,所以我不需要我的 UItextfield 共享两个输入!谢谢!!!