0
 (IBAction)captureButton:(id)sender {

    captureButton.hidden = YES;
    cancelButton.hidden = YES;

    currImage = [signatureViewController imageWithView:self.view];
    NSLog (@"image %@",currImage);
    imgView = [[UIImageView alloc]initWithFrame:CGRectMake(150,100,300,350)];
    imgView.backgroundColor = [UIColor blackColor];
    imgView.image = currImage;
    [self.view addSubview:imgView];
}

捕获 imageView 现在需要将其传递给第一个 Controller 中的 signView。

4

2 回答 2

0

我已经使用 NSUser 默认值做到了这一点。在 secondViewController 中:

-(IBAction)doneAction:(id)sender
{
    imgView.image = currImage;
    NSData *imageData = UIImagePNGRepresentation(currImage);
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:imageData forKey:@"imageDataKey"];
    NSLog (@"Data Saved");
}

我已将此保存的图像分配给 -(void)viewWillAppear: 方法中的 firstController 中的图像视图

于 2013-01-30T14:12:50.470 回答
0

您可以通过多种方式将图像从一个视图控制器传递到另一个视图控制器,其中一些在下面列出

  1. 在应用程序委托中创建一个 imageview 对象。声明属性并合成它以在其他类中访问它。现在创建应用代理共享实例并在第二个视图控制器的 captureButton 方法中设置应用代理的图像视图对象。要再次访问同一图像,请在第一个视图控制器中创建应用程序委托文件的共享实例,并使用应用程序代理图像视图属性来获取图像。

  2. 第二种方法是使用委托方法

        //Declare delegate in second view controller
        @protocol SecondViewControllerDelegate
    
        -(void)setTheImage:(UIImage *)img
    
        @end
    
        //Declare property of delegate protocol
        @property (assign)id<SecondViewControllerDelegate> delegate;
    
        //synthesize the variable 
        @synthesize delegate;
    
    
        //Extend SecondViewControllerDelegate in first view controller by importing secondviewController in first view controller
        #import secondviewController.h
    
            @interface firstviewController : UIViewController<SecondViewControllerDelegate>
    

    // 现在无论你在哪里创建 SecondViewController 的对象,如下设置委托让我们说 objSecondViewController 是你的视图控制器的对象

    objSecondViewController.delegate=(id)self;
    
    //Now define delegate method of  SecondViewControllerDelegate
    
    -(void)setTheImage:(UIImage *)img
    {
    //here set the image img to your image view present in first view controller
    }
    //Now lastly in second view controller in captureButton function call the function
    
    [delegate captureButton:currImage];
    
  3. 第三种方法是使用第一个视图控制器的全局声明并通过声明第一个视图控制器的图像视图的属性和合成在 captureButton 中设置图像视图

于 2013-01-29T09:48:52.897 回答