0

我的应用程序需要在视图控制器中添加一个自定义的新文本字段,即 View A 。字段详细信息将填写在另一个视图中,即当我们单击添加字段按钮时被推送的视图 B。截至目前,我正在推动添加文本字段按钮的视图,当所有字段详细信息在完成按钮上再次填充时,我正在推动前一个视图控制器 ieView A 的新实例。我的文本字段正在添加但现有所有数据已从视图 A 的其余字段中删除。我尝试在完成按钮上弹出视图,但它不会在视图 A 上创建新的文本字段,尽管所有字段数据都完好无损。

那么有没有办法在弹出时重新创建一个完整的视图,以便创建新的文本字段,并且我在以前的视图控制器中的数据也不会丢失。

4

2 回答 2

0

您应该弹回之前的 ViewA,这样您就不会丢失您在此处输入的数据,而是在您这样做时在代码中添加一个新的文本字段。您可以使用从完成按钮调用的方法在 ViewB 中创建委托协议(您可能需要一个可以设置的标志,这样如果您只想创建一个文本字段,则只需调用一次该方法)。ViewA 中该方法的实现将创建文本字段并将其添加到视图的适当位置。

于 2013-09-17T15:19:16.307 回答
0

如果您在 UINavigationController 中使用推送/弹出机制,则以前的数据永远不会丢失。你的控制器层次结构应该是这样的;

UINavigationController --> FirstViewController --> DetailViewController

第一视图控制器

DetailViewController *dvc = [self.storyboardinstantiateViewControllerWithIdentifier:@"DetailViewController"];
[self.navigationController pushViewController:mv animated:YES];

细节视图控制器

[self.navigationController popViewControllerAnimated:YES];

或者您可以在带有连接的情节提要上做到这一点。

于 2013-09-17T15:00:57.080 回答