Iphone 多行UIAlertView消息崩溃
事故日志Iphone 多行UIAlertView消息崩溃,iphone,cocoa-touch,uialertview,Iphone,Cocoa Touch,Uialertview,事故日志 -[UIAlertView displayScrollerIndicators]: unrecognized selector sent to instance 0x1fbaf120 代码是: UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Some info",nil) message:str delegate:self cancelButtonTitle:NSLocalized
-[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
字符的大型多行文本。在代码中的某个地方,您正在使用UIAlertView对象调用displayScrollerIndicators
,我认为您做错了什么。您正在使用UIAlertView
的对象调用其他类方法。您无法调用此方法,因为此方法不在UIAlertView
类下。错误消息“发送到实例XXX的未识别选择器”表示应用程序正在尝试调用不存在的方法。这种情况经常发生,因为方法在错误的对象上被调用。有趣。。。这似乎是UIAlertView
类中的一个bug
我刚刚做了一个快速测试,显示了一个包含几行信息的UIAlertView
,在iPad模拟器(iOS 6.1)上,当显示13行或更多行时,alert view会中断。似乎在12行之后,警报视图不再变大,显然会发生一些错误,因为它认为必须滚动,但没有可用的滚动视图
所以,请确保在UIAlertView中显示的行数不超过12行,我会说
更新:
我刚刚做了另一个测试-我发现崩溃(不仅)与行数有关,而且与警报视图的标记属性设置有关-当您没有设置标记时,它仍然工作并显示滚动视图-当您设置标记时,它崩溃超过12行。。。奇怪
更新2(以及最后一次):
如果tag
的整数值小于12345(我测试了121231234),那么它似乎也可以工作-只是更高的tag
值会导致崩溃。仍然奇怪的是,标记
属性是一个NSInteger
,因此应该至少有32位,因此,12345在溢出方面应该不会有任何问题…您将alertview对象放置在scrollView对象的位置搜索类中出现的displayScrollerIndicators
,检查您是否使用alert的对象调用它。请提供str
的值,这样就可以重现该问题。@rptwsthi UIAlertView在文本行数等于或大于13时调用displayScrollerIndicators。它不再显示可滚动的文本视图,它只是崩溃了!在以前版本的iOS中,当消息为13行或更多行时,UIAlertView中会出现可滚动的文本视图,现在它只是崩溃。。。看起来有警报视图bugWOW,难以置信:)谢谢你的帮助谢谢。。标签12345导致我在iOS6中崩溃(Bug)。。而iOS7的工作原理没有任何变化。。