是否可以将操作从标签栏的一个页面连接到另一个页面?

时间:2011-09-20 02:25:52

标签: ios ios4

我正试图在标签栏的一个页面上输入一些东西到另一个...例如 标签栏的第1页 标签文本字段(插入内容)      生成...... 标签栏的第2页 嘿...... ....... 标签栏的第3页 嘿......插入的是什么

请告诉我这样的事情是否可行...提前谢谢你!

3 个答案:

答案 0 :(得分:1)

是的,有可能。事实上,有几种方法可以做你想要的。从您描述您想要做的事情的方式来看,我建议您查看NSNotificationCenter。基本上,当您设置视图控制器时,第二个和第三个视图控制器可以注册以接收某种类型的通知。当文本字段的内容改变时,第一个视图控制器将“发布”通知。第二个和第三个将收到通知,然后更新其内容。

编辑:

//register for a notification.  Whenever the notification is sent, mySelector: is called on self (probably done whe thn second and third controller are loaded)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mySelector:) name:@"NotificationName" object:nil];

//send a notification (done when the first view controllers action is finished)
[[NSNotificationCenter defaultCenter] postNotificationName:@"NotificationName" object:obj];

答案 1 :(得分:0)

另一种方法是使用app delegate寻求帮助。在appdelegate中创建一个属性,例如userName。在您要访问的视图中导入appdelegate类。使用其属性存储在一个视图中并在另一个视图中检索它。您可以访问appdelegate单例实例属性,如

((yourAppDelegate*)[[UIApplication sharedApplication] delegate]).userName = @"Set Value";

在另一个视图的viewWillAppear中:

self.greetingLabel.text = ((yourAppDelegate*)[[UIApplication sharedApplication] delegate]).testString;

可能不是最优雅的解决方案,只是实现结果的另一种方式。

答案 2 :(得分:0)

如果我正确理解了您的问题,请查看此SO 问题的答案。