2010-09-10 94 views
0

我是iPhone开发新手。我有两个名为pickerviewcontroller和secondviewcontroller的视图,它们具有不同的xib文件。我通过UIImagePickerController界面从照片库中选择一张照片,并试图在第二个视图中显示所选图像。 pickerController是我的第一个视图控制器。无法在secondviewcontroller中显示图像

pickerController.h文件

#import <UIKit/UIKit.h> 
    #import "SecondViewController.h" 

    @interface pickerControllerViewController : UIViewController<UIActionSheetDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate> { 
    IBOutlet UIButton *selectpic; 
    UIImageView *imageView; 
    } 
    @property (nonatomic,retain) UIImageView *imageView; 
    @property (nonatomic,retain) UIButton *selectpic; 
    -(IBAction)getpic:(id)sender; 
    //-(void)goNext: (UIImagePickerController *)picker; 
    @end 

pickerController.m呸

#import "pickerControllerViewController.h" 

@implementation pickerControllerViewController 
@synthesize imageView,selectpic; 
-(IBAction)getpic:(id)sender 
{ 
UIImagePickerController *picker = [[UIImagePickerController alloc]init]; 
picker.delegate = self; 
picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; 
[self presentModalViewController:picker animated:YES]; 
} 
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 

imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
[[picker parentViewController] dismissModalViewControllerAnimated:YES]; 
SecondViewController *secview = [[SecondViewController alloc]initWithNibName:nil bundle:nil]; 
[secview setImage:imageView]; 

} 

SecondVIewController.h文件

@interface SecondViewController :UIViewController{ 
IBOutlet UIImageView *imageView2; 

} 
-(void)setImage:(UIImage *)image; 
@end 

SecondVIewController.m文件

@implementation SecondViewController 
-(void)setImage:(UIImage *)image{ 
imageView2 = image; 
} 

它没有显示任何错误。我无法在第二个视图中显示图像。

+0

您的类型都是搞砸了... UIImage和UIImage视图之间有区别。我想知道为什么这不会崩溃所有的时间... – Eiko 2010-09-10 09:51:29

+0

雅我同意。后来我改变了uiimageview到uiimage,并试图itstill没有得到。 – 2010-09-13 10:31:48

回答

0

在firstviewcontroller.m

<#import "pickerExampleViewController.h" 

@implementation pickerExampleViewController 
@synthesize selectPic; 
-(IBAction)getpic:(id)sender 
{ 
    UIImagePickerController *picker = [[UIImagePickerController alloc]init]; 
    picker.delegate = self; 
    picker.editing = YES; 
    picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; 
    [self presentModalViewController:picker animated:YES]; 
    [picker release]; 
} 

#pragma mark imagePickerController delegate methods 

-(void)imagePickerController:(UIImagePickerController *) picker 
     didFinishPickingImage:(UIImage *)image 
       editingInfo:(NSDictionary *)editingInfo 
{ 
    [picker dismissModalViewControllerAnimated:YES]; 
    Second *secview = [[Second alloc] initWithNibName:@"Second" bundle:nil]; 
    secview.view.backgroundColor = [UIColor blackColor]; 
    [secview.imgView setImage:image]; 
    [self.view addSubview:secview.view]; 
    [secview release]; 
} 


- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 
{ 
    [self dismissModalViewControllerAnimated:YES]; 
}< 

在second.m你必须写

<#import "Second.h" 

@implementation Second 
@synthesize imgView; 

-(void)setImage:(UIImage *)img 
{ 
    [imgView setImage:img];  
} 
-(IBAction)back 
{ 
    [self.view removeFromSuperview]; 
} 

-(void)dealloc 
{ 
    [imgView release]; 
    [super dealloc]; 
} 
@end 
< 
-1

创建pickerControlle A类NSData的变量,并存储在NSData的图像数据

再通过NSData的要下一个类

+0

我已经采取了NSData类型,并将图像存储在其中,并将数据传递给第二视图控制器中的setImage方法。但我并没有得到。 – 2010-09-13 10:33:45