繁体   English   中英

将UIImage传递给SubView的UIImageView?

[英]Passing a UIImage to a SubView's UIImageView?

我试图将UIImage值传递给要添加为subView的View内的UIImageView。

这是我在mainViewController中所做的事情:

- (IBAction)selectStore:(id)sender {

    StoreSelectorViewController *SSVC = [[StoreSelectorViewController alloc] initWithNibName:@"StoreSelectorViewController" bundle:nil];
    [self.navigationController addChildViewController:SSVC];
    [SSVC.backgroundView setImage:[UIImage imageNamed:@"CoolBG.png"]];
    [self.view.window addSubview:SSVC.view];
}

我在StoreSelectorViewController.h文件中执行了以下操作:

@property (nonatomic, retain) IBOutlet UIImageView *backgroundView;

我也将其链接到XIB文件中。

一切加载,除了我从未收到过UIImage值。 谢谢

有时使用此方法似乎无效:

[SSVC.backgroundView setImage:[UIImage imageNamed:@"CoolBG.png"]];

因此,在显示其父级(SSVC)之前,我以略有不同的顺序使用了以下两行版本:设置图像:

StoreSelectorViewController *SSVC = [[StoreSelectorViewController alloc]     initWithNibName:@"StoreSelectorViewController" bundle:nil];
UIImage *img = [UIImage imageNamed:@"CoolBG.png"];
[SSVC.backgroundView setImage:img];
[self.navigationController addChildViewController:SSVC];
[self.view.window addSubview:SSVC.view];

问题出在这一行[self.view.window addSubview:SSVC.view]; 因此,只需将行替换为以下内容:-

另外,您还想将imageview添加为viewsubview view 因此,请使用以下代码,其中backgroundViewimageview :-

[SSVC.view addSubview:SSVC.backgroundView];
[self.view addSubview:SSVC.view];. 

无论如何,您实际上都不应该调用addChildViewController ,这不是您想要的。 您也没有利用UIViewController ,只是窃取了它的view属性。 正因为如此, UIViewController可能没有被完全实例化,因为它没有被呈现( viewWill/Did )方法从未被调用,因此backgroundView可能为nil

暂无
暂无

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

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