[英]how do i add a UIView controller to a UIView
我有一个UIViewController
类型的自定义类。 我想将其添加到UIView
以便可以将其输出到屏幕。
UIView
称为engineView我的自定义UIViewController
称为Engine。 控制器中有一个名为addImage的自定义方法。
代码如下:
Engine *engine = [[Engine alloc] init];
CGRect frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
engine.view.frame = frame;
UIImage *image = [UIImage imageNamed:@"photo2.jpg"];
[engine addImage:image];
[engineView addSubview: engine.view];
这不会显示图像。
但是,如果我通过情节提要添加视图控制器,它似乎可以正常工作(如果我在viewdidlayoutsubviews
方法中添加图像。但是我想从父UIViewCcontroller
以编程方式对其调用函数。
谁能告诉我我该怎么做?
您可以在界面构建器中设置storyBoard标识符,然后像上面建议的那样使用它。
MyViewController *instance = [self.storyBoard instantiateViewControllerWithIdentifier:@"yourIdentifier"];
至于将ViewController添加到UIView中,您也可以通过使用addChildViewController
方法来实现。
尝试这样..
Engine *engine = (Engine *)[self.storyboard instantiateViewControllerWithIdentifier:@"EngineViewControllerStoryBoardID"];
设置故事板ID
将图像传递给引擎:
->在Engine.h中创建UIImage
属性
就像@Property UIImage * engineImage;
->将该图像分配给Engine.m中的UIIMageView
-(void)viewWillAppear:(BOOL)animated
{
engineImageView.image = engineImage; // engineImageView is an example UIImageView replace it with your UIImageView
}
->现在发送类似engine.engineImage =[UIImage imageNamed:@"photo2.jpg
”];的图像;
try this..
Engine *eng=[self.storyboardinstantiateViewControllerWithIdentifier:@"YourStoryboradId"];
*you can set storyboard id by going in Identity Inspector.
之后,您可以通过以下代码在View Controller上添加图像
UIImageView *image=[UIImageView alloc]initWithFrame:CGRectMake(x, y, your width, your Height);
img setImage:[UIImage imageNamed:@"imageName"];
[eng addSubview:image];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.