2013-05-08 3 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

Где вы размещали alertview объект InPlace из Scrollview объекта –

+1

поиска для возникновения 'displayScrollerIndicators' в вашем классе проверяет, не вызывается ли u с объектом' alert's'. – rptwsthi

+0

Укажите значение 'str', чтобы проблема была воспроизведена. –

ответ

3

Забавный ... это кажется ошибкой в ​​классе UIAlertView.

Я просто сделал быстрый тест, показывая UIAlertView с сообщением, состоящим из нескольких линий - и на IPad симуляторе (IOS 6,1) предупреждение вида перерывов при отображении 13 линий или более. Кажется, что после 12 строк вид предупреждения больше не становится больше, и, видимо, тогда возникает некоторая ошибка, потому что он думает, что он должен прокручиваться, но нет прокрутки.

Итак, убедитесь, что вы не показывают больше, чем 12 строк в UIAlertView я бы сказал ...

UPDATE:

Я только что сделал еще одно испытание - и я обнаружил, что крах not (only), связанный с количеством строк, но с настройкой свойства tag представления предупреждения - если вы не установите tag, он по-прежнему работает и показывает scrollview - только когда вы устанавливаете тег, с которым он падает, более 12 строк ... странно.

UPDATE 2 (и последний):

кажется, что если целое значение tag меньше, чем 12345 (я тестировал 1,12,123,1234) он также работает - просто выше tag значение приводит к авария. Тем не менее странно, как tag собственности является NSInteger и как таковая должна иметь по крайней мере 32 бит, поэтому 12345 не должно быть никаких проблем переполнения мудр ...

+0

В предыдущих версиях iOS, когда в сообщении было 13 или более строк, в UIAlertView появляется прокручиваемое текстовое изображение, теперь оно просто сбой ... Похоже, есть ошибка с предупреждением – FunkyKat

+0

WOW, unbelievable :) Thanx для вашей помощи – FunkyKat

+0

Спасибо. 12345 вызвал у меня этот крах в iOS6 (Bug) .. И с iOS7 он работает без каких-либо изменений .. –

0

Где-то в вашем коде вы звоните displayScrollerIndicators с помощью UIAlertView object

0

Я думаю, что вы делаете что-то wrong.You вызывает другой метод класса с UIAlertView «s объектом. И вы не можете вызвать этот метод, потому что этот метод не находится под классом UIAlertView.

0

Сообщение об ошибке «unrecognized selector sent to instance XXX» означает, что приложение пытается вызвать метод, который не существует. Часто это происходит из-за того, что метод вызывает неправильный объект.