我使用storyboard seque来模拟我的tabbarController上的UIViewController。弹出的视图控制器的目的是获取一些用户输入并返回其中一个选项卡栏视图(在视图控制器弹出之前选择的那个)上的标签的答案。
在我的代码中,我将#import "viewBeforePopup.h"
添加到poppedUpView.h头文件中。
然后我创建一个插座
IBOutlet viewBeforePopup *view;
触发视图控制器dismal的按钮具有与之关联的代码
NSString *strToSet = textbox.text;
[view.label setText:strToSet];
[self dismissModalViewControllerAnimated:YES];
这种用法在故事板模式之前为我工作。我应该注意,故事板包含最初加载的标签栏控制器,然后我添加了额外的UIViewController。
视图正确消失,标签栏视图可见,但标签不会更改。我调试了一个已验证的字符串,我试图分配给标签有一个值,它确实。除了将文本应用于标签外,似乎一切正常。
任何人都可以告诉我我的方法做错了什么或解释这样做的理想方式,因为这可能是错误的方法。
提前谢谢
答案 0 :(得分:0)
猜测,它可能拍摄了模态视图的快照图像并将其设置为动画。尝试类似的事情:
- (void)dismissModal {
[self dismissModalViewControllerAnimated:YES];
}
...
NSString *strToSet = textbox.text;
[view.label setText:strToSet];
[self performSelector:@selector(dismissModal) withObject:nil afterDelay:0.1];
答案 1 :(得分:0)
您需要设置一个委托协议,该协议允许一个视图控制器将数据写回另一个视图控制器。阅读了解Fundamental Design Patterns。
我为您搜索了一个教程,解释了如何实现委托设计模式。要使其工作,需要执行许多步骤。 This教程包含所有步骤。