2013-05-08 82 views
3

崩溃日志崩溃与多UIAlertView中消息

-[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巨大字符多行文字。

+0

某处你将滚动视图对象 – 2013-05-08 07:22:40

+1

搜索发生的alertview对象就地displayScrollerIndicators'在你的类中检查你是否没有用'alert's对象调用它。 – rptwsthi 2013-05-08 07:28:15

+0

请提供'str'的​​值,以便可以复制问题。 – 2013-05-08 10:13:13

回答

3

有趣......这似乎是UIAlertView类中的一个错误。

我刚做了一个快速测试,显示UIAlertView带有几行消息 - 在iPad模拟器(iOS 6.1)上,当显示13行或更多行时,警报视图中断。看起来,在12行之后,警报视图不再变大,显然,由于它认为它必须滚动,所以发生了一些错误,但没有可用的滚动视图。

因此,请务必不要在UIAlertView中我想说显示超过12行...

UPDATE:

我只是做了另一个测试 - 我发现飞机坠毁不是(仅)连接到行数,而是连接到警报视图的tag属性的设置 - 当您未设置tag时,它仍然可以工作并显示滚动视图 - 就在您设置标签时它会崩溃超过12行......奇怪。

更新2(也是最后一次):

看来,如果tag整数值小于12345(我测试1,12,123,1234)它也可以 - 只是一个更高的tag值导致碰撞。不过奇怪的,因为tag属性是一个NSInteger,因此应至少有32位,所以应该12345是没有问题的溢出明智...

+0

在以前的iOS版本中,当消息是13行或更多行时,UIAlertView中出现可滚动的textview,现在它只是崩溃...看起来像有警报视图bug – FunkyKat 2013-05-08 12:06:49

+0

哇,难以置信:) Thanx为您的帮助 – FunkyKat 2013-05-08 13:11:34

+0

谢谢..标签12345导致我在iOS6(Bug)中崩溃。并且与iOS7一起工作,没有任何改变。 – 2014-05-21 09:41:50

0

某处在你的代码中使用UIAlertView object

0

我认为你正在做的事情wrong.You呼吁其他类的方法与UIAlertView的对象都呼吁displayScrollerIndicators。并且您不能调用此方法,因为此方法不属于UIAlertView类。

0

错误消息“unrecognized selector sent to instance XXX”表示该应用正试图调用一个不存在的方法。通常会发生这种情况,因为该方法被错误的对象调用。