崩溃日志
-[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 :(得分: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应该不会出现溢出问题......
答案 1 :(得分:0)
您的代码中某处使用displayScrollerIndicators
UIAlertView object
答案 2 :(得分:0)
我认为你做错了。你用UIAlertView
的对象调用其他类方法。并且您无法调用此方法,因为此方法不属于UIAlertView
类。
答案 3 :(得分:0)
错误消息“unrecognized selector sent to instance XXX
”表示该应用正在尝试调用不存在的方法。通常会发生这种情况,因为该方法是在错误的对象上调用的。