0

現在の画像が特定の画像ビューと等しい場合に画像ビューに画像を表示するコードを作成しました。正常に動作しますが、アプリを終了してからアプリに戻ると、どういうわけか現在の画像が表示されず、比較が機能しなくなります。

if (imageview25.image == [UIImage imageNamed:@"BLUEBOXPUNT.png"]){
            key25.hidden = NO;
        }

これは機能しますが、アプリを終了して戻ったときに、画像がBLUEBOXPUNT.pngと等しいことがわかりません。

これを行う他の方法や、Javaでimageview25.getImageを実行するような方法はありますか。私はそれがうまくいくと思います。

4

2 に答える 2

3

比較ロジックは、2つの画像オブジェクトが同じアドレスを持っているかどうかをチェックしています。これは、画像がキャッシュに残っている間のみ機能します。メモリの警告により、アプリを切り替えるときに発生するのと同じ問題が発生する可能性があります。

画像とそのファイル名を関連付ける場合は、名前に合わせた辞書を使用して、自分で行う必要があると思います。

于 2012-11-25T13:53:13.790 に答える
0

複数の画像を表示する必要がある場合。より簡単な方法は、複数を使用することですUIImageView。すべて同じサイズで同じ場所にあります。しかし、それぞれが異なる画像を示しています。次に、必要なものを表示し、他の人を非表示にすることができます(またはbringSubviewToFront)。

実際に2つの画像を比較する必要がある場合:

CocoaTouch-画像の比較

OpenCV

于 2012-11-25T13:52:28.783 に答える