0

UIAlertViewに関連する問題があります。本文メッセージと[OK]と[キャンセル]の2つのボタンを含むアラートを作成しました。alertWindowを表示すると、ボタンはアラートウィンドウの外側に配置され、アクセスできなくなります。向きが変わると正常になります。

alertWindowのサイズを変更してみましたが、問題があります。

これが私のコードです

 UIAlertView *errorAlert=[[UIAlertView alloc]initWithTitle:errorAlertTitle message:errorAlertMessage  delegate:self cancelButtonTitle:errorAlertClose otherButtonTitles:@"Reload", nil];
     errorAlert.tag=2;
     errorAlert.frame = CGRectMake(0,0,500,600);

     [errorAlert show];
     [errorAlert release];

ここに画像の説明を入力してください

解決策はありますか?

4

2 に答える 2

1

「アラートウィンドウ」とは、UIAlertViewテキストとボタンが表示されている部分のことですよね?コードに「アラートウィンドウ」のフレームを設定していると思いますか?ユーザーがUIの残りの部分と対話することを防ぎ、「アラートウィンドウ」を含む、透明なブロックビューのフレームを実際に設定していますか?UIAlertViewのビュー階層はプライベートであるため、それがどのように構造化されているかはわかりませんが、間違った操作をしている可能性があります。ドキュメントはビュー階層への干渉についても警告しているUIAlertViewため、フレームなどのビュープロパティを設定したくない場合があることに注意してくださいUIAlertView

本当に「アラートウィンドウ」を変更したい場合は、次のことができます。

  1. アラートビューのサブビューを分析するには、コードを記述してサブビューをウォークスルーし、有用な情報(フレーム、タイプなど)をログに記録します。これにより、実際に操作するサブビューがわかる場合があります。

その後

  1. UIAlertViewが構築され、表示されるようになった後、UIAlertViewDelegateのコールバックを使用してアラートウィンドウを操作します。

しかし、調査したい場合UIActionSheetUIPopoverController、の自動スタイリングが機能していない場合はUIAlertViewどうでしょうか。

于 2012-08-03T05:04:02.987 に答える
0

あなたの要件に私はあなたがアクションシートを使用するだけですが、あなたの問題のためにこれをしてください:

このコードを追加します:

 errorAlert.frame = CGRectMake(0,0,500,600);

[errorAlert show];
于 2012-08-03T04:43:00.220 に答える