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属性是一个NSInteger,因此应该至少有 32 位,所以 12345 应该没有任何问题溢出明智......

于 2013-05-08T11:21:22.460 回答
0

您在代码中的某处displayScrollerIndicators使用UIAlertView object

于 2013-05-08T07:28:22.727 回答
0

我认为您做错了什么。您正在使用UIAlertView' 对象调用其他类方法。而且你不能调用这个方法,因为这个方法不在UIAlertView类下。

于 2013-05-08T07:34:58.130 回答
0

错误消息“<code>unrecognized selector sent to instance XXX”表示应用正在尝试调用不存在的方法。经常发生这种情况是因为在错误的对象上调用了该方法。

于 2013-05-08T10:17:29.040 回答