我使用自定义相机选择器创建了一个应用程序,我尝试将叠加图像从一个类传递到其他类,下面是关于我的代码的更多信息:
使用Storyboard:
UICollectionView
加载.plist
来自网络的图片,然后使用Segue Identify
将信息传递到另一个视图。
在我的第二个视图中,我看到我选择的图像,分享按钮和相机按钮,如果我点击相机按钮加载μ自定义相机视图在单独的.xib
,她我想将我的第一个选择的图像传递给UIImageView在.xib
我的代码:
3个控制器的过程是:
来自UITableView
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([@"goToShare" isEqualToString:segue.identifier]) {
NSIndexPath *index = [self.tableView indexPathForCell:sender];
[[segue destinationViewController] setImgSelected:(self.loadImage)[index.row]];
}
}
此处将我的图片设置为NSMutableDictionary *imgSelected;
在我的第二个控制器中,我将信息输入:
- (void)viewDidLoad {
NSString *url = (self.imgSelected)[@"image"];
NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:url]];
imageViewPick.image = [[UIImage alloc] initWithData:data];
[super viewDidLoad];
}
现在我想从第二个控制器imageViewPick.image
将第三个控制器中的相同图像传递到我的imageOverlay.image
点击相机按钮并加载封面垂直.xib
:
- (IBAction)getPhoto:(id) sender {
CustomCameraViewController *camController = [[CustomCameraView alloc] initWithNibName:@"CustomCameraView" bundle:nil];
camController.delegate = self;
[self presentViewController:camController animated:YES completion:^{
}];
}
我尝试使用imageViewPick.image
:
MyFirstView *imgDelegate= (MyFirstView *)[[UIApplication sharedApplication] delegate];
self.imageOverLay.image = imgDelegate.imageViewPick.image;
但是没有工作,应用程序崩溃。
知道如何将信息从firstClass.m
传递给secondClass.m
吗?
答案 0 :(得分:1)
initWithNibName
方法返回UIViewController
,让我们调用MySecondViewController
的实例。将UIImage
属性添加到MySecondViewController
。然后,在初始化MySecondViewController
的实例后,将UIImage
属性设置为您想要的图像。 E.g:
在 MySecondViewController.h :
中...
@property (nonatomic, weak)UIImage *overlayImage;
...
在 MyFirstView.m :
...
MySecondViewController *secondViewController = [MySecondViewController initWthNibName:<insert name of xib> bundle:<probably nil>];
secondViewController.overlayImage = self.imageOverlay.image;
...
然后,您可以使用MySecondViewController
self.overlayImage
中的叠加图片
答案 1 :(得分:0)
In&lt; - (IBAction)getPhoto:(id)sender&gt;你必须设置camController.imageOverLAy.image = self.imageViewPick.image;在介绍camController之前。 希望它能帮到你!
[[UIApplication sharedApplication] delegate] returns a pointer to the AppDelegate.