簡體   English   中英

如何將UIView控制器添加到UIView

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

設置StoryboardId 之后,您可以通過以下代碼在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM