gpt4 book ai didi

ios - UIImagePickerController didFinishPickingMediaWithInfo

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:19:34 24 4
gpt4 key购买 nike

Bellow 是我的 didFinishPickingMediaWithInfo 方法,我知道我有很多不必要的代码,保留,发布等......但这是我可以让它工作的方式,我害怕在尝试时破坏它优化它。

谁能帮我去掉不必要的东西并清理这个方法?

此外,我有一个 View Controller 可以加载 4 张照片(相机胶卷或相机),在选择器中选择第 2 或第 3 张照片后,应用程序崩溃,或者至少,我收到以下这些警报之一。我做错了什么?谢谢!

-2012-06-23 10:54:07.399 LookdoDia[6525:707] 收到内存警告。

-wait_fences:未能收到回复:10004003

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

[self dismissModalViewControllerAnimated:YES];

UIImage *img = [info objectForKey:UIImagePickerControllerEditedImage];
if(!img) img = [info objectForKey:UIImagePickerControllerOriginalImage];

uiimvImagem.image = [img retain];
uiimvImagem.alpha = 0;
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:img];
self.uiimvImagem = [tempImageView retain];
[tempImageView release];

CGRect frame = uiimvImagem.frame;
frame.size.width = 359;
frame.size.height = img.size.height / (img.size.width / 359);
uiimvImagem.frame = frame;

uisv1.showsVerticalScrollIndicator = NO;
uisv1.showsHorizontalScrollIndicator = NO;
uisv1.contentSize = CGSizeMake(uiimvImagem.frame.size.width, uiimvImagem.frame.size.height);
uisv1.maximumZoomScale = 3.0;
uisv1.minimumZoomScale = 0.8;
uisv1.clipsToBounds = YES;
uisv1.delegate = self;

[uisv1 addSubview:uiimvImagem];

[img release];

}

最佳答案

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

UIImage *img = [info objectForKey:UIImagePickerControllerEditedImage];
if(!img) img = [info objectForKey:UIImagePickerControllerOriginalImage];

uiimvImagem.image = img; //why bother?
uiimvImagem.alpha = 0; //why bother?
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:img];
self.uiimvImagem = tempImageView; //Make sure your self.uiimvImagem is a retained property! Also, don't forget to nil it out in your dealloc method
[tempImageView release];

CGRect frame = uiimvImagem.frame;
frame.size.width = 359;
frame.size.height = img.size.height / (img.size.width / 359);
uiimvImagem.frame = frame;

uisv1.showsVerticalScrollIndicator = NO;
uisv1.showsHorizontalScrollIndicator = NO;
uisv1.contentSize = CGSizeMake(uiimvImagem.frame.size.width, uiimvImagem.frame.size.height);
uisv1.maximumZoomScale = 3.0;
uisv1.minimumZoomScale = 0.8;
uisv1.clipsToBounds = YES;
uisv1.delegate = self;

[uisv1 addSubview:uiimvImagem];

[self dismissModalViewControllerAnimated:YES];

}

这应该会好一点——虽然我不确定其余部分是如何连接的(即属性声明,我不确定 uisv1 分配在哪里。)还有一些地方看起来不对劲——你正在将图像分配给 ImageView ,然后使用新分配的 UIImageView 运行整个过程。

关于ios - UIImagePickerController didFinishPickingMediaWithInfo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11170055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com