如何使用imageview在iphone中显示相册照片
我使用Imagepickerview控制器拾取照片并使用imageview在uiview中显示,但我的问题是使用imageview只能显示一张图像,不能显示两张。 如果我选择第二个,它将继续替换现有的。请给出一些如何显示两张照片的建议如何使用imageview在iphone中显示相册照片,iphone,ios,objective-c,Iphone,Ios,Objective C,我使用Imagepickerview控制器拾取照片并使用imageview在uiview中显示,但我的问题是使用imageview只能显示一张图像,不能显示两张。 如果我选择第二个,它将继续替换现有的。请给出一些如何显示两张照片的建议 here is my source code. -(void) ViewDidLoad { attachPhotoBtn = [UIButton buttonWithType:UIButtonTypeCustom]; attachPhoto
here is my source code.
-(void) ViewDidLoad
{
attachPhotoBtn = [UIButton buttonWithType:UIButtonTypeCustom];
attachPhotoBtn.frame = CGRectMake(400, 125, 44, 44);
UIImage *attachImg = [UIImage imageNamed:@"album_add_off.png"];
[attachPhotoBtn setImage:attachImg forState:UIControlStateNormal];
[attachPhotoBtn addTarget:self action:@selector(attachPhoto:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:attachPhotoBtn];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
imageView = [[UIImageView alloc] initWithFrame:CGRectMake(50, 125, 64, 52)];
// imageView.backgroundColor = [UIColor greenColor];
[self.view addSubview:imageView];
}
}
- (IBAction)attachPhoto:(id)sender {
[sender setImage:[UIImage imageNamed:@"album_add.png"] forState:UIControlStateNormal];
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
UIImagePickerController *imagePicker =[[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.mediaTypes = [NSArray arrayWithObjects:(NSString *) kUTTypeImage,(NSString *)kUTTypeVideo,nil];
imagePicker.allowsEditing = NO;
// On iPad use pop-overs.
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
_popover = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
[_popover presentPopoverFromRect:attachPhotoBtn.frame
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionUp
animated:YES];
}
}
else
{
// On iPhone use full screen presentation.
// [[self presentingViewController] presentViewController:imagePicker animated:YES completion:nil];
}
newMedia = NO;
}
#pragma mark Image picker controller delegate methods
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
// [self dismissModalViewControllerAnimated:YES];
if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
imageView.image = image;
[picker dismissViewControllerAnimated:NO completion:nil];
}
您使用单个UIImageView组件来显示图像,每次选择图像时,它都会被最新的图像覆盖 有多种方式显示多个图像 当您在voidimagePickerController:UIImagePickerController*PickerDidFinishPickingMediaWithInfo:NSDictionary*info函数中获取图像时,可以动态创建UIImageView组件 您可以使用NSMutableArray来放置所有图像,并可以在UITableView中显示 或者,您可以在ScrollView中添加ImageView 但最终您将需要多个UIImageView组件来显示多个图像,而不是一个
希望这有帮助。您可以使用assest library从照片库获取所有图像 一,。添加AssetLibrary.framework 二,。导入资产库/AssetsLibrary.h 三,。在数组中获取所有结果 这是代码
void (^myAssetEnumerator)( ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) {
if(result != NULL)
{
NSLog(@"See Asset: %@", result);
if ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypePhoto])
{
[assetsArray addObject:result];
}
}
};
//This block of code used to enumerate ALAssetsGroup.
void (^myAssetGroupEnumerator)( ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop) {
if(group != nil) {
[group enumerateAssetsUsingBlock:myAssetEnumerator];
[self createScrollView];//Or you can use your `assetsArray` data, in UITableView,UICollectionView
}
//[activity stopAnimating];
// [activity setHidden:YES];
};
library = [[ALAssetsLibrary alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos
usingBlock:myAssetGroupEnumerator
failureBlock: ^(NSError *error) {
NSLog(@"Failure");
}
];
四,。获取缩略图图像
粘贴实际代码。带大写V的ViewDidLoad很难是真实的;至[图像视图设置图像:图像];试试这个,告诉我它是否有效:如果你想要照片库的所有东西,请检查答案
ALAsset *asset=[assetsArray objectAtIndex:i];
UIImage*image = [UIImage imageWithCGImage:[asset thumbnail]];