どうすればいいのか本当にわからない UIView に問題があります。
私の問題を説明するのは無駄なので、前後のスクリーンショットを次に示します。どういうわけか、画像が選択された後、UIView は interfacebuilder で定義されたレイアウトを取得します。画像が選択される前は、何らかの理由で定義されたレイアウトに従っていません。
imagePicker を使用して画像を選択する前:.................................................画像を選択した後:
| |
そうそう、それが基本的に問題です。黒い四角は他の画像で、どのようにすべきか、どのようにすべきでないかがわかります。画像の 1 つが切り取られています (通常は「SIM なし」ラベルの後ろにあります)。実際の画像を隠すためにそれらを配置しただけです。スクリーンショット。
だから多分私がここでやっている2つのことに関連しています。
- 選択した画像のサイズを 320 ~ 480 に変更し、サーバーにアップロードする前に小さい UIImageView に配置します。
- ユーザーが textField に書き込んでいる場合、ビュー全体がアニメーション化されるため、キーボードは textFields を非表示にしません。
アップデート:
これは、画像やテキストフィールドのサイズ変更に関係のない UIView で発生することに気付きました。これは、3 つのボタンと 2 つのラベルしかない UIView でも発生しています。たった5つの要素。3 つのボタンは、画像付きのカスタム モードです。3つの画像〜ボタンと2つのラベル....
Stackoverflowers 仲間の助けと提案をありがとう!!! (Stackoverflowerers?) ここでどのように処理を進めるかについてはまったくわかりませんが、viewDidLoad で UIView を変換して無駄にしました。
更新 2:
ビューからビューへの移行に使用するコードに何か問題があり、そこに含まれる要素とは何の関係もないのではないかと考え始めました。最初のビューを除くすべてのビューで発生しているためです。ビューの遷移に使用するコードは次のとおりです。
- (void) flipToUploadView {
UploadViewController *aUploadView = [[UploadViewController alloc] initWithNibName:@"UploadView" bundle:nil];
[self setUploadViewController:aUploadView];
[aUploadView release];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:window cache:YES];
[uploadViewController viewWillAppear:YES];
[viewController viewWillDisappear:YES];
[viewController.view removeFromSuperview];
[self.window addSubview:[uploadViewController view]];
[viewController viewDidDisappear:YES];
[uploadViewController viewDidAppear:YES];
[UIView commitAnimations];
}