1

AlertViewにUITextViewを割り当てようとすると、いくつかの問題が発生します。これが私のコードです:

UIAlertView* minhaCritica = [UIAlertView new];
minhaCritica.title = @"7Arte";
[minhaCritica addButtonWithTitle:@"Cancelar"];
[minhaCritica addButtonWithTitle:@"Enviar"];
minhaCritica.message = @"Escreve a tua crítica:\n\n\n\n";
minhaCritica.delegate = self;
[minhaCritica show];

CGRect frame = minhaCritica.frame;
frame.origin.y -= 100.0f;
minhaCritica.frame = frame;

criticaTxtView = [UITextView alloc];
[criticaTxtView setFont:[UIFont systemFontOfSize:16.0f]];
[criticaTxtView initWithFrame:CGRectMake(20.0, 80.0, 245.0, 40.0)];
[minhaCritica addSubview:criticaTxtView];
[criticaTxtView becomeFirstResponder];

私の問題は、テキストの入力を開始すると、入力時にテキストビューがスクロールしないことです。最初の2行がいっぱいになると、1行上にスクロールする必要があります。

誰かがこれを手伝ってくれますか?これが問題を示すビデオです:http ://www.welove.com.pt/7arte.swf

また、ユーザーがフィールドに入力したテキストを取得するのに問題があります。私は次のように作業しました:criticaText = [[alertView textField] text]; しかし、今では上記のコードでは機能しません。

4

2 に答える 2

7

あなたは間違った問題を解決しようとしていると思います。API ドキュメントによると、アラート ビューは「ユーザーにアラート メッセージを表示する」ために使用されます。入力には使用しないでください。代わりに、モーダル ビューなどを使用してください。

プラットフォームの UI 規則に従うことは、一般的には良い習慣であり、ここでそうしないと、アプリケーションが Apple によって拒否される可能性があります。

于 2009-02-20T15:06:49.207 に答える
4

文書化されていない比較的無害な UIAlertView API は許可されなくなったようです。そのため、テキスト フィールドまたはテキスト ラベルを使用する場合は、別のメカニズムを使用する必要があります。この問題に対処する方法の良い例として、次のブログ投稿をお勧めします。

カスタム UIAlertView (カラー チューザー)

UITables を UIAlertViews に埋め込む

プロンプト付きアラート ビュー

これらの手法は、App Store の観点からは正当であるように見え、あらゆる種類のコントロールをアラート ビューに埋め込む方法に対処しています。

于 2009-11-18T16:52:08.130 に答える