如何在弹出窗口上重新创建视图?

时间:2013-09-17 14:37:20

标签: iphone ios objective-c uiviewcontroller

我的应用程序中要求在视图控制器中添加自定义新文本字段,即视图A. 字段详细信息将填入另一个视图,即在我们单击添加字段按钮时被推送的视图B. 到目前为止,我正在推送添加文本字段按钮的视图,并且当完成按钮上的所有字段详细信息再次填满时,我正在推送前一个视图控制器的新实例,即View A. 我的文本字段已添加,但现有的所有数据都从视图A上的其他字段中删除。 我尝试在完成按钮上弹出视图,但它不会在视图A上创建新的文本字段,尽管所有字段数据都是完整的。

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

2 个答案:

答案 0 :(得分:0)

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

UINavigationController - > FirstViewController - > DetailViewController

<强> FirstViewController

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

<强> DetailViewController

[self.navigationController popViewControllerAnimated:YES];

或者你可以通过连接在故事板上做到这一点。

答案 1 :(得分:0)

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