如何在UILabel中显示UITextField的文本?

时间:2012-02-22 13:17:21

标签: ios uitextfield uilabel

我正在构建一个界面,我可以在其中添加日历中的事件。 在AddAEventViewController中我有按钮来设置启动时间,持续时间和重复。 每次按下按钮时,视图控制器都会出现一个UIDatePicker,您可以在其中设置时间。拾取的组件显示在UITextField中。现在,当我按下Done-Button时,它会关闭ModalViewController并返回到我的AddAEventViewController。在“持续时间”按钮旁边,例如是一个UILabel,我想在那里显示刚刚选中并在文本域中显示的持续时间。 如何从其他ViewController中访问AddEventViewController?我尝试在那里分配并初始化一个新的,但它没有用!

- (IBAction)pressedDoneButton:(id)sender {

 _mainAddWishViewController.labelDuration.text=textFieldDuration.text;

 [self dismissModalViewControllerAnimated:YES];

}

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

2 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点,所有这些方法都记录了here。阅读和理解它们将对iOS软件开发有很大帮助。

答案 1 :(得分:0)

有很多方法可以实现这一目标。这是一个相当简单的方法。

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

然后在完成按钮处理程序中,执行以下操作:

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

在父视图控制器中,按如下方式定义方法:

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

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

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