簡體   English   中英

無法在secondviewcontroller中顯示圖像

[英]Unable to display an image in secondviewcontroller

我是iPhone開發的新手。 我有兩個名為pickerviewcontroller和secondviewcontroller的視圖,它們具有不同的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文件

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

它沒有顯示任何錯誤。 我無法在secondview中顯示圖像。

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

在pickerControlle類中創建一個NSData變量,並將圖像數據存儲在NSData中

然后將NSData傳遞給下一類

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM