3

クラッシュログ

-[UIAlertView displayScrollerIndicators]: unrecognized selector sent to instance 0x1fbaf120

コードは次のとおりです。

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Some info",nil) message:str delegate:self cancelButtonTitle:NSLocalizedString(@"Close", nil) otherButtonTitles: nil];
alert.tag = 12345;
[alert show];

str文字を含む巨大な複数行テキストはどこにありますか\n

4

4 に答える 4

3

面白い...これはUIAlertViewクラスのバグのようです。

簡単なテストをUIAlertView行い、数行からなるメッセージを表示しました。また、iPad シミュレーター (iOS 6.1) では、13 行以上を表示するとアラート ビューが壊れます。12 行を過ぎると、アラート ビューはそれ以上大きくならないようで、スクロールする必要があると判断して何らかのエラーが発生したようですが、スクロール ビューを使用できません。

したがって、UIAlertView で 12 行を超えないようにしてください...

アップデート:

別のテストを行ったところ、クラッシュは行数に (のみ) 接続されているのではなくtag、アラート ビューのプロパティの設定に接続されているtagことがわかりました。 - タグを設定すると、12行以上でクラッシュします...奇妙な。

更新 2 (および最後):

の整数値tagが 12345 より小さい場合 (私は 1,12,123,1234 をテストしました) も機能するようです -tag値が大きいだけでクラッシュします。tagプロパティは であり、少なくとも 32 ビットが必要であるため、 12345NSIntegerはオーバーフローに関して問題にならないはずです...

于 2013-05-08T11:21:22.460 に答える
0

エラー メッセージ「<code>認識できないセレクターがインスタンス XXX に送信されました」は、アプリが存在しないメソッドを呼び出そうとしていることを意味します。多くの場合、これはメソッドが間違ったオブジェクトで呼び出されているために発生します。

于 2013-05-08T10:17:29.040 に答える
0

コードのどこかでdisplayScrollerIndicatorsUIAlertView object

于 2013-05-08T07:28:22.727 に答える