2012-12-05 2 views
1

Я пробовал это в моем ViewDidLoad:ViewDidLoad загрузить 4 изображения

NSString *myGrabbedImage = @"myGrabbedImage.png"; 
NSString *myGrabbedImage2 = @"myGrabbedImage2.png"; 
NSString *myGrabbedImage3 = @"myGrabbedImage3.png"; 
NSString *myGrabbedImage4 = @"myGrabbedImage4.png"; 

NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSArray *path2 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSArray *path3 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSArray *path4 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentDirectory = [path objectAtIndex:0]; 
NSString *documentDirectory2 = [path2 objectAtIndex:0]; 
NSString *documentDirectory3 = [path3 objectAtIndex:0]; 
NSString *documentDirectory4 = [path4 objectAtIndex:0]; 

NSString *fullPath = [documentDirectory stringByAppendingPathComponent:myGrabbedImage]; 
NSString *fullPath2 = [documentDirectory2 stringByAppendingPathComponent:myGrabbedImage2]; 
NSString *fullPath3 = [documentDirectory3 stringByAppendingPathComponent:myGrabbedImage3]; 
NSString *fullPath4 = [documentDirectory4 stringByAppendingPathComponent:myGrabbedImage3]; 

NSData *data = [NSData dataWithContentsOfFile:fullPath]; 
NSData *data2 = [NSData dataWithContentsOfFile:fullPath2]; 
NSData *data3 = [NSData dataWithContentsOfFile:fullPath3]; 
NSData *data4 = [NSData dataWithContentsOfFile:fullPath4]; 

if ([myGrabbedImage isEqualToString:@"myGrabbedImage.png"]) 
{ 
[[self firstImageView]setImage:[UIImage imageWithData:data]]; 
} 
else if ([myGrabbedImage2 isEqualToString:@"myGrabbedImage2.png"]) 
{ 
    [[self secondImageView]setImage:[UIImage imageWithData:data2]]; 
} 
else if ([myGrabbedImage3 isEqualToString:@"myGrabbedImage3.png"]) 
{ 
    [[self thirdImageView]setImage:[UIImage imageWithData:data3]]; 
} 
else 
{ 
    [[self fourthImageView]setImage:[UIImage imageWithData:data4]]; 
} 

Тогда у меня есть это в моем методе UIImagePickerController:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
UIImage *image1 = [info objectForKey:UIImagePickerControllerOriginalImage]; 

NSData *data = UIImagePNGRepresentation(image1); 
NSString *myGrabbedImage = @"myGrabbedImage.png"; 
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentDirectory = [path objectAtIndex:0]; 
NSString *fullPathToFile = [documentDirectory stringByAppendingPathComponent:myGrabbedImage]; 

[data writeToFile:fullPathToFile atomically:YES]; 
if (picker == imagePickerController) 
{ 
    [[self firstImageView]setImage:image1]; 
} 
else if (picker == imagePickerController2) 
{ 
    [[self secondImageView]setImage:image1]; 
} 
else if (picker == imagePickerController3) 
{ 
    [[self thirdImageView]setImage:image1]; 
} 
else if (picker == imagePickerController4) 
{ 
    [[self fourthImageView]setImage:image1]; 
} 
[self dismissViewControllerAnimated:YES completion:nil]; 
} 

грубой, то ViewDidLoad просто показывает одно изображение. Но как я могу заставить его загрузить все 4 UIImageView.

Заранее спасибо

+1

Вы показали некоторые code.But в этом коде вы не пытаетесь делать то, что вы просили и не повторно somehow.You»просто спрашивают, как это сделать, так что это msgid. –

+0

и ............. – JimmyYXA

+0

Вам следует попытаться что-то сделать. Мы могли бы исправить ваш код впоследствии. –

ответ

1
#import <UIKit/UIKit.h> 

@interface PickerController: UIViewController <UIPickerViewDelegate,  UIPickerViewDataSource> { 
NSArray *titleStrings; 
UIPickerView *picker; 
UIImage *imageView; 
} 
@end 

@implementation PickerController 

- (id) init { 
if (self = [super init]) { 
    titleStrings = [[NSArray alloc] initWithObjects:@"A", @"B", NULL]; 
    picker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 100, 320, 100)]; 
    picker.showsSelectionIndicator = YES; 
    picker.delegate = self; 
    picker.dataSource = self; 
    [self.view addSubview:picker]; 
    imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"empty.png"]]; 
    imageView.frame = CGRectMake(0, 200, imageView.frame.size.width, imageView.frame.size.height); 
    [self.view addSubview:imageView]; 
    [imageView release]; 
    [picker release]; 
} 
return self; 
} 

- (void) dealloc { 
[titleStrings release]; 
[super dealloc]; 
} 

/* UIPickerViewDataSource */ 

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { 
return 2; 
} 

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:  (NSInteger)component { 
return 2; 
} 

/* UIPickerViewDelegate */ 

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { 
return [titleStrings objectAtIndex:row]; 
} 

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:( NSInteger)component { 
NSString *first = [titleStrings objectAtIndex:[pickerView selectedRowInComponent:0]]; 
NSString *second = [titleStrings objectAtIndex:[pickerView selectedRowInComponent:1]]; 
NSString *imageName = [[NSString alloc] initWithFormat:@"%@%@", first, second]; 
imageView.image = [UIImage imageNamed:imageName]; 
[imageName release]; 
[imageView sizeToFit]; 
} 

@end 
Смежные вопросы