无法在第二个视图控制器中显示图像

发布于 2024-09-18 22:47:01 字数 1969 浏览 4 评论 0原文

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

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 fie

#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;
}

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

I am new to iPhone development. I have two views named pickerviewcontroller and secondviewcontroller which have different xib files. I choose a picture through the UIImagePickerController interface from the Photo Library, and I was trying to display the chosen image in the second view. pickerController is my first view controller.

pickerController.h file

    #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 fie

#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 file

@interface SecondViewController :UIViewController{
 IBOutlet UIImageView *imageView2;

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

SecondVIewController.m file

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

It is not showing any error. I am not able to display the image in the secondview.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

流殇 2024-09-25 22:47:01

在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
<

In 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];
}<

In second.m you have to write

<#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
<
天涯离梦残月幽梦 2024-09-25 22:47:01

在 pickerControlle 类中创建 NSData 变量
并将图像数据存储在 NSData 中

,然后将 NSData 传递给下一个类

Create A NSData Variable in pickerControlle class
and Store The Image Data in NSData

Then Pass The NSData To Next Class

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文