- [<CALayer: 0x5584190> display]: игнорирование размера фиктивного слоя

-[<CALayer: 0x5584190> display]: Ignoring bogus layer size (255211754908294243945860531626574872576.000000, 340282346638528859811704183484516925440.000000)

Может кто-нибудь, скажите мне, что это предупреждение? Приложение сбой на некоторых устройствах, показывающих это.

Любое предложение было бы очень полезно.

Ответ 1

Я считаю, что это вызвано тем, что слой слишком велик, и я ожидаю, что это приведет к буферизации проблем для изображения для рисования.

У меня была эта проблема с большим UIView с относительно простой графикой и она была решена с помощью CATiledLayer

Чтобы сделать это, включите в свой подкласс UIView следующее:

+ (Class)layerClass {
    return [CATiledLayer class];
}

Ответ 2

Я только что столкнулся с этой ошибкой в ​​контроллере представления, который был представлен в popover. Ошибка "игнорирования размера фиктивного слоя" возникала при представлении popover, и в результате текстовое поле в контроллере представления не отображало его текст.

В моем случае перемещение вызова textField.becomeFirstResponder() от viewWillAppear до viewDidAppear разрешило проблему.

Ответ 3

Я потратил немного времени, пытаясь найти ответ на аналогичный вопрос, я получал:

[<CALayer: 0x37d540> display]: Ignoring bogus layer size (nan, nan)

но только на устройстве, а не на симуляторе. Моя проблема была связана с тем, что я загружал изображения из applicationCacheDirectory, и оказалось, что у моих файлов был набор верхних и нижних регистров в моем проекте. Но в каталоге Cache на устройстве все они были изменены на нижний регистр. Надеюсь, это поможет кому-то в будущем.

Ответ 4

У меня была такая же ошибка при работе с * UISegmentedControl, и я настраивал текст, используя этот метод:

[segmentedControl setTitleTextAttributes:(@{UITextAttributeFont: [UIFont regularFontWithSize:13.f],
                                              UITextAttributeTextColor: controlsSelectedColor,
                                              *UITextAttributeTextShadowOffset:* **@0**}) forState:UIControlStateNormal];

Ошибка также произошла только на устройстве и была вызвана неправильным атрибутом атрибутаText параметра UITextAttributeTextShadowOffset Я установил там NSNumber, но согласно documentation он должен быть структурой UIOffset, обернутой NSValue. Я изменил его на [NSValue valueWithUIOffset: UIOffsetZero], и он сработал. Вопрос в том, почему он не работал на симуляторе.

Итак, проверьте свой приписанный текст, если вы его использовали. Это может быть такая магия.

Надеюсь, что это помогло.

Ответ 5

У меня возникла проблема с TableViewController, встроенным в навигационный контроллер при переходе на детали VC. Изменение из шоу (push), чтобы показать (подробно), зафиксировано. Удостоверьтесь и очистите.

Ответ 6

У меня возникла эта проблема при использовании -UIViewShowAlignmentRects YES в качестве переменной запуска. Когда я отключил его, проблема исчезла. Ошибка в Xcode?