[英]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.