1

XCode 4.5.2でiPhone iOS 6.0アプリケーションを作成しています。 私のビューには、3 つの UITextFields、サムネイル画像を表示する UIImageView、および Interface Builder で設定されたデフォルトで非表示の UIDatePicker があります。

私のビューは、ストーリーボードを使用して作成されます。

テキスト フィールドの 1 つは日付ピッカー用であるため、非表示フィールドを NO に設定すると、タップすると日付ピッカーが画面の下部に表示されます。他のテキスト フィールドをタップすると、日付ピッカーが消え、キーボードが表示されます。

画像ビューをタップすると、UIActionSheet を使用して、ユーザーがライブラリから写真を選択するか、写真を撮ることができます。

問題は、日付ピッカーのテキスト フィールドをタップしてから、画像ビューをタップして、デリゲート メソッドで表示する画像を選択する場合です。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

プログラムが終了し、次のエラー メッセージが表示されてクラッシュします

*キャッチされない例外 'NSGenericException' が原因でアプリを終了しています。理由: 'ビューに制約をインストールできません。制約は、ビューのサブツリーの外部から何かを参照していますか? それは違法です。制約: ビュー:; レイヤー = ; contentOffset: {0, 0}>'

他のテキスト フィールドの 1 つから画像ビューに移動すると問題なく動作するので、日付ピッカーに何らかの問題があることはわかっています。

最初は日付ピッカーがまだ表示されているためだと思ったので、アクションシートが表示される前に画像ビューをタップすると、日付ピッカーが非表示になります

dobDatePicker.hidden = NO;

また、ビューの編集をオフにして、テキスト フィールドからフォーカスを外します。

[self.view endEditing:YES];

iPhone 5 の長さの画面を使用する iOS 6 用のシミュレーターと、私の iPhone 5 の両方でクラッシュします。

誰でもこれに光を当てることができますか?

前もって感謝します

編集:

ビューの ViewDidLoad メソッドには、このコードがありました

self.dob.inputView = self.dobDatePicker

out がクラッシュを止めたとコメントしているようですが、キーボードと日付ピッカーの両方が同時に表示されるようになりました...一歩近づいたと思います

4

0 に答える 0