0

私は単純なiPhoneアプリに取り組んでいますが、場合によっては非常に奇妙な動作をしていて、理解できません...

アプリには、、ラベル、プログレスバーなどUIImageViewのいくつかのコントロールがありUISwitchます。これらのコントロールは、スイッチがオフになっている、ラベルに初期テキストが含まれている、プログレスバーが非表示になっているなど、最初は特定の状態にあります。これらの状態は、ユーザーとの対話中に最終的に変化します。

しばらくすると、アプリはカメラで写真を撮るはずです。この写真は私のに割り当てられますUIIMageView。すべてのオブジェクトに対して1つのデリゲートコントローラーしかありません(なぜですか?)。

そして今、問題が発生します。カメラで写真を撮り、それを画像ビューに割り当てた後、すべてのコントロールが初期状態に戻ります...

1行をコメントアウトすると、画像がUIImageViewに割り当てられます。

imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

コントロールの状態は変わりません!それで、それは画像の割り当てによってのみ引き起こされますが、なぜですか?!

何か案は?

4

1 に答える 1

3

でコントロールの状態を設定しているようですviewDidAppear:

画像ピッカーを表示すると、ビューが消えてviewWillDisappear:viewDidDisappear:. したがって、イメージ ピッカーを閉じると、ビューが送信され viewWillAppear:viewDidAppear:.

そのメソッドでコントロールの状態を設定している場合、それらのメソッドが呼び出されるたびに状態がリセットされます。

コントロールの状態を に設定するコードを移動することを検討してviewDidLoadください。

于 2009-10-24T12:11:44.000 に答える