Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS中使用带标记的视图_Ios_Forms_Uiscrollview - Fatal编程技术网

在iOS中使用带标记的视图

在iOS中使用带标记的视图,ios,forms,uiscrollview,Ios,Forms,Uiscrollview,我在一个项目中工作,在那里我画了多次表格。我的意思是,这是一个应用程序,我必须从用户那里为不同的人获取相同的细节。假设在第一次用户输入时有4个人,那么我需要在滚动视图中绘制一个表单4次,以便用户可以输入所有4个人的详细信息。 为了实现这一点,我在XIB中创建了表单视图(包括3个UITextFields),并根据人数动态重复该视图。这是工作的要求很好,我能够采取显示的形式给用户。 但我有点困惑,从所有UITextfields获取值,然后在后端保存所有值,以便使用它。 formview被添加到UIS

我在一个项目中工作,在那里我画了多次表格。我的意思是,这是一个应用程序,我必须从用户那里为不同的人获取相同的细节。假设在第一次用户输入时有4个人,那么我需要在滚动视图中绘制一个表单4次,以便用户可以输入所有4个人的详细信息。 为了实现这一点,我在XIB中创建了表单视图(包括3个UITextFields),并根据人数动态重复该视图。这是工作的要求很好,我能够采取显示的形式给用户。 但我有点困惑,从所有UITextfields获取值,然后在后端保存所有值,以便使用它。
formview
被添加到
UIScrollView
中,
UIScrollView
被添加到
self.view
。每个表单视图都包含我在将视图添加到
self.view
时添加的标记值


但是如何从添加到formview的UITextFields中获取值呢。请提出建议。

如果您的结构与以下类似,则不会成为问题

Scrollview-->form1(标记==0)-->所有文本字段(标记从1到4开始) | | -->表单2(标记==1)-->所有文本字段(标记从1到4开始)

所以理想情况下,为每个人创建单独的视图,并将其添加到滚动视图中。如果您为表单创建UIView的子类,这样每个人都有不同的表单对象,并且可以访问特定表单的文本字段以从中获取值,这将更有帮助

更新 如果您有一个diff.form对象,则获取如下文本字段值

UITextField * txt = (UITextField *)[form1 viewWithTag:textFiledtag];
NSString * str = txt.text;

其中,form1是在scrollview中为person添加的对象,textFiledtag是您在创建textfield并添加到form1时为textfield分配的标记。

如果您的结构类似于以下内容,则不会出现问题

Scrollview-->form1(标记==0)-->所有文本字段(标记从1到4开始) | | -->表单2(标记==1)-->所有文本字段(标记从1到4开始)

所以理想情况下,为每个人创建单独的视图,并将其添加到滚动视图中。如果您为表单创建UIView的子类,这样每个人都有不同的表单对象,并且可以访问特定表单的文本字段以从中获取值,这将更有帮助

更新 如果您有一个diff.form对象,则获取如下文本字段值

UITextField * txt = (UITextField *)[form1 viewWithTag:textFiledtag];
NSString * str = txt.text;

其中,form1是在scrollview for person中添加的对象,textFiledtag是您在创建textfield并在form1中添加时分配给textfield的标记。

如果您需要从scrollview表单访问textfields的值,您可以在检索和保存所有数据时对每个scrollview对象使用以下代码:

//to get scrollview object from self.view
UIScrollView *scrollView1 = (UIScrollView*)[self.view viewWithTag:SCROLL_VIEW_TAG_1];

//to get formview from scrollview object
UIView *formView1 = (UIView*)[scrollView1 viewWithTag:FORM_VIEW_TAG_1];

//to get textfields from formview
UITextField *textField1 = (UITextField*)[formView1 viewWithTag:TEXT_FIELD_TAG_1];
NSString *value1 = textField1.text;
UITextField *textField2 = (UITextField*)[formView1 viewWithTag:TEXT_FIELD_TAG_2];
NSString *value2 = textField2.text;

//same for other textfields and scrollviews

我希望它对你有用。您需要的主要工作是为不同的字段和scrollview正确分配标记值。

如果您需要从scrollview表单访问文本字段的值,您可以在检索和保存所有数据时对每个scrollview对象使用以下代码:

//to get scrollview object from self.view
UIScrollView *scrollView1 = (UIScrollView*)[self.view viewWithTag:SCROLL_VIEW_TAG_1];

//to get formview from scrollview object
UIView *formView1 = (UIView*)[scrollView1 viewWithTag:FORM_VIEW_TAG_1];

//to get textfields from formview
UITextField *textField1 = (UITextField*)[formView1 viewWithTag:TEXT_FIELD_TAG_1];
NSString *value1 = textField1.text;
UITextField *textField2 = (UITextField*)[formView1 viewWithTag:TEXT_FIELD_TAG_2];
NSString *value2 = textField2.text;

//same for other textfields and scrollviews

我希望它对你有用。您需要做的主要工作是正确地将标记值分配给不同的字段和滚动视图。

您也向文本字段添加了标记吗??使用标签,您可以区分不同的文本字段。@SalmanZaidi感谢您的回复。是,我已将标记添加到UITextFields。但我不知道如何从中获取价值。请您提供建议好吗?那么这个表单实际上是一个tableview吗?@MichaelDautermann No,它只是一个简单的表单视图,在UIScrollview中添加了4-5个UITextfields(而不是使用UITableView)。您是否收到了文本字段的代理回调?您是否也为文本字段添加了标记??使用标签,您可以区分不同的文本字段。@SalmanZaidi感谢您的回复。是,我已将标记添加到UITextFields。但我不知道如何从中获取价值。您能提供建议吗?那么这个表单实际上是一个tableview吗?@MichaelDautermann No,它只是一个简单的表单视图,在UIScrollview中添加了4-5个UITextfields(而不是使用UITableView)。您是否收到了textfields的代理回调?谢谢您的回复。我正按照你上面提到的方法做。我为每个人创建了一个单独的视图,并将其添加到UIScrollView中。它显示正确。但是现在我可以知道如何从UITextFieldsHanks获取响应的值。我正按照你上面提到的方法做。我为每个人创建了一个单独的视图,并将其添加到UIScrollView中。它显示正确。但是现在我可以知道如何从UITextfields获取值了