2012-02-22 54 views
2

我正在构建一个界面,我可以在其中添加日历中的事件。 在AddAEventViewController我有按钮来设置开始时间,持续时间和重复。 每次按下按钮时,视图控制器都会提供一个UIDatePicker,您可以在其中设置时间。挑选的组件不是显示在UITextField中。现在,当我按下完成按钮时,它将关闭ModalViewController,然后回到我的AddAEventViewController。在持续时间旁边例如是一个UILabel,我想在这里显示刚刚选择的文本框和显示的持续时间。 如何从另一个ViewController访问AddEventViewController?我尝试在那里分配和初始化一个新的,但它没有工作!如何在UILabel中显示UITextField的文本?

- (IBAction)pressedDoneButton:(id)sender { 

_mainAddWishViewController.labelDuration.text=textFieldDuration.text; 

[self dismissModalViewControllerAnimated:YES]; 

}

有人可以帮我请! 谢谢朱尔斯

回答

1

有几种方法可以做到这一点,他们都记录在here。阅读和理解它们将在iOS软件开发中帮助你很多。

1

有很多方法可以做到这一点。这是一个非常简单的例子。

在“child”viewController中,添加一个委托属性并将其设置为父视图控制器。

在完成按钮的处理程序

然后,执行类似:

[self.delegate performSelector:@selector(didComplete) withObject:self] 

在父视图控制器,如下定义的方法:

- (void) didComplete: (YourSubViewControllerClass *) sender 
{ 
    self.labelDuration.text = sender.textFieldDuration.text 
} 

基本上,这实现了一个非正式的协议,由此subViewController通知主视图控制器它已完成并且输入值可用。

请注意,如果您取消了subViewController,请不要发送didComplete消息。

相关问题