繁体   English   中英

从另一个视图控制器向视图控制器添加子视图

[英]add subview to a view controller from another view controller

我有两个视图控制器类。 在第一个视图中,我有一个图像视图,在第二个视图控制器中,有一个文本视图。 第二个视图控制器具有完成按钮,单击“完成”按钮后,我想在第一个视图控制器的图像上添加标签,并在该标签上传递文本视图的文本。 有什么办法吗? 请给我建议。

使用委托。 在第二个视图控制器上创建一个协议,并将第一个视图控制器作为其委托。 使用委托方法将textview的文本作为消息发送给委托(或通常在类之间发送任何类型的数据)。

在第一视图控制器中保留对第二视图控制器的引用。

从第一视图控制器在第二视图控制器中调用公共函数。

视图控制器A:

@interface ViewControllerA : UIViewController
{
@public
    NString *text;
}

查看控制器B:

@interface ViewControllerB : UIViewController
{
@public
    ViewControllerA *refToA;
}

从A启动视图控制器B的代码:

ViewControllerB *vc = [[ViewControllerB alloc] initWithNibName:@"ViewControllerB" bundle:nil];
vc->refToA = self;
[self presentModalViewController:vc animated:YES];

在View Controller B中设置值:

refToA->text = @"text to pass";
[refToA.view addSubview:button];

视图确实出现在A:

- (void)viewDidAppear:(BOOL)animated
{
   if (text != nil)
   {
     NSLog(@"%@", text);
     // create your button here
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM