0

私は現在、写真の装飾アプリを作成しています。*holderView は、ユーザーが選択したステッカーです。写真ライブラリから写真をロードするか、写真を撮ってからこのページにロードし直そうとすると、プログラムによって *holderView が追加されます。これは、写真を撮る前に以前に選択したステッカーであり、その後に重複したステッカーが表示されます。私が望んでいるものではありません。

これが起こらないようにするためのコードをどのように記述すればよいですか? どうもありがとう。

- (void)viewWillAppear:(BOOL)animated {

UIView *holderView = [[UIView alloc] initWithFrame:CGRectMake(0, 50, _imagePicker.selectedImage.size.width, _imagePicker.selectedImage.size.height)];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:[holderView frame]];
[imageView setImage:_imagePicker.selectedImage];
[holderView addSubview:imageView];
...
}
4

1 に答える 1

2

あなたの問題は、viewDidLoad の代わりに viewWillAppear メソッドを使用しているようです。これにより、複数の「imageView」が発生します。これは、表示されているviewControllerを非表示にしてから表示するたびに新しいものを追加するためです。 viewDidLoad メソッドを作成し、その imageView をクラス全体でアクセスできるようにしてから、viewWillApear で imageView 内の画像を新しく選択した画像に変更するだけです。

于 2012-01-06T15:15:41.580 に答える