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のimageviewに割り当てました

于 2013-01-30T14:12:50.470 に答える
0

あるView Controllerから他のView Controllerに画像を渡す方法はたくさんありますが、そのうちのいくつかを以下に示します

  1. アプリ デリゲートで、1 つの imageview オブジェクトを作成します。プロパティを宣言し、それを合成して、他のクラスでアクセスします。ここで、アプリ デリゲート共有インスタンスを作成し、アプリ デリゲートのイメージ ビュー オブジェクトを 2 番目のビュー コントローラーの captureButton メソッドに設定します。同じ画像に再度アクセスするには、最初のビュー コントローラーでアプリ デリゲート ファイルの共有インスタンスを作成し、アプリ デリゲートの画像ビュー プロパティを使用して画像を取得します。

  2. 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. 3番目の方法は、最初のView Controllerのグローバル宣言を使用し、プロパティを宣言してcaptureButtonに画像ビューを設定し、最初のView Controllerのimageviewを合成することです

于 2013-01-29T09:48:52.897 に答える