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