2012-03-11 15 views
3

私はFlipとMirrorに必要なUIImageを持っています。私はこれをUIImageViewを使用して行っています。私はこれに2つの問題があります。UIImageフリップとミラー

  1. これは、画像のみを表示に変更するものではありません。だから、私はイメージを使用するときに反転されていないか、エラーが表示されます。

  2. 同じトランスフォームを2回使用すると、2回目は何も行いません。

コード例:(。私はIOSのプログラミングに新しいですし、任意の不正なコードのために申し訳ありません)

フリップを呼び出す:

// ImageHolder is a UIImageView 
ImageHolder = [self flip:ImageHolder FlipType:@"V"]; 

何それが呼び出す:

- (UIImageView *)flip:(UIImageView *) fvImageView FlipType:(NSString *)FlipType { 

    UIImageView *newView = [[UIImageView alloc] init]; 
    newView = fvImageView; 
    if (FlipType == @"V"){ 
     newView.transform = CGAffineTransformMakeScale(-1, 1); 
    } else if (FlipType == @"H"){ 
     newView.transform = CGAffineTransformMakeScale(1, -1); 
    }else if (FlipType == @"VH"){ 
     newView.transform = CGAffineTransformMakeScale(-1, -1); 
    }else if (FlipType == @"N"){ 
     newView.transform = CGAffineTransformMakeScale(1, 1); 
    } 
    return newView; 
    [newView release]; newView= nil; 
} 

ご協力いただきありがとうございます!

+0

私はコードを更新しましたThanks RakeshNSS! 私はまだ2回連続して行うことができない方法を知りません。私は前後に反転することができるようにしたいと思います。 – Kunadiso

+0

私はちょうどチェックして、私は画像を保存する場合は、画像だけを反転していないビュー。私はイメージを反転する必要があります。 – Kunadiso

+0

リターン[newView autorelease];を使用します。リターンの後でのリリースは発生しません。 – Simon

答えて

0

あなたは

newView= nil; 

nilをそれを作る、その後

return newView; 

結果は、あなたがnilの値を返すですが返された後、画像

[newView release]; 

を解放し、ので、画像が反転していませんいくつかの操作を行った後。関数の引数として渡す "fvImageView"オブジェクトを変更するだけで十分だと思います。

+0

ありがとう!私はそれを見たはずです。 私はその部分を働かせているので、まだ2回連続して行かせません。私はフリップの状態を維持しながら前後にそれを反転できるようにしたい。何かご意見は? – Kunadiso