我想存储和检索从我的avcapturesession中拍摄的图像。我能够做到这一点与按钮按下,但我想让图像出现后,它是自动拍摄。它在IBAction印刷机上工作得很好。这是我所做的。我使用此代码将图像存储到用户默认设置
UIImage *Capture = [UIImage imageWithData:self.jpegPhotoData];
capturetest = Capture;
NSData *imageData;
imageData = [NSKeyedArchiver archivedDataWithRootObject:Capture];
[[NSUserDefaults standardUserDefaults] setObject:imageData forKey:@"image"];然后,我使用以下代码通过按下按钮调用了NSUserDefaults。
-(IBAction)test:(id)sender
{
NSLog(@"WAS IT PRESSED");
NSData *imageData1;
imageData1 = [[NSUserDefaults standardUserDefaults] objectForKey:@"image"];
capturetest = [NSKeyedUnarchiver unarchiveObjectWithData: imageData1];
self.imgView.image = capture test;
}这工作得很完美。当我按下按钮时,它显示了我刚刚拍摄的图像,但是我怎么才能让图像自动出现呢?我试着把按钮代码放在一个像-(void)test这样的空语句中,然后在照片拍摄之后,我调用了[self test]。这不管用。我甚至试着像这样自动按下按钮,但没有成功。
[self performSelector: @selector(test:) withObject:self afterDelay: 0.0];发布于 2016-11-04 20:56:00
UIImage *Capture = [UIImage imageWithData:self.jpegPhotoData];
globalObject = Capture;你可以做一件事,获取一个临时的全局UIImage对象,当你拍摄照片时,你可以将图像保存到该对象,并随时使用。
发布于 2016-11-22 18:56:55
编写一个将图像返回给所需控制器的委托,例如
YourImageController.h
@protocol ImageSendingDelegate <NSObject>
-(void)ServiceResponse :(UIImage *)currentImage;
@end
@interface YourImageController : .......
@property(strong,nonatomic)id <ImageSendingDelegate>IDelegate;获取图像数据的YourImageController.m
UIimage *image = [UIImage imageWithData:self.photoData];
[_IDelegate ServiceResponse:image];在DesireController.h中导入YourImageController.h
@interface DesireController : UIViewController<ImageSendingDelegate>
@property (strong,nonatomic)YourImageController *delegateObject;DesireCOntroller.m
if(_delegateObject==nil)
{
_delegateObject=[[YourImageController alloc]init];
_delegateObject.IDelegate=self
}
-(void)ServiceResponse:(UIImage *)currentImage
{
UIimage *IamgeRecived=currentImage;
NSLog(@"\n\n\n\n geting image");
}https://stackoverflow.com/questions/40415488
复制相似问题