【发布时间】:2015-09-18 06:46:46
【问题描述】:
我在我的应用中使用相机选择图像并尝试在水平滚动视图中显示。
但图像重叠
我的代码
-(IBAction)act_photo:(id)sender
{
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
//picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:NULL];
}
#pragma mark - Image Picker via Camera
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *chosenImage = info[UIImagePickerControllerOriginalImage];
[picker dismissViewControllerAnimated:YES completion:^{
[arr_images insertObject:chosenImage atIndex:0];
[self scrollImages_Setup2];
}];
}
-(void)scrollImages_Setup2
{
for (int k=0; k<arr_images.count; k++) {
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake((CGRectGetWidth(scl.frame) * k) + CGRectGetWidth(scl.frame), 0, CGRectGetWidth(scl.frame), CGRectGetHeight(scl.frame))];
imageView.contentMode = UIViewContentModeScaleAspectFit;
imageView.image=[arr_images objectAtIndex:k] ;
[scl addSubview:imageView];
}
scl.contentSize = CGSizeMake((CGRectGetWidth(scl.frame) * arr_images.count)+CGRectGetWidth(scl.frame), CGRectGetHeight(scl.frame));
}
问题
图片1
图片 2
如上图所示,我首先拍摄的是横向图像 2,然后是纵向图像 1。
但如您所见,图片 1 的背景是图片 2。
我认为这是因为滚动视图出了问题?
可能性 2(大部分) Scrollview 保持对 Imageview 的强引用,即使它从数组中删除
告诉我如何解决这个问题?
帮我解决这个问题
谢谢
【问题讨论】:
-
为什么要再次添加图像。当您第二次选择图像时,它将再次在滚动视图中为第一个图像添加图像。因为每次从相机胶卷中选择图像时,您都会添加所有图像重叠。
标签: ios objective-c iphone uiscrollview uiimageview