2016-10-27 3 views
4

Если посмотреть на сгенерированные отчеты о сбоях, я вижу, что эта ошибка появляется много. Тем не менее, это действительно трудно сказать, что является причиной его неисправности:Отладка отчета о сбоях в Firebase - позиция CALayer содержит NAN

Exception name: CALayer position contains NaN: 

В моем коде, у меня есть NSTimer, который удаляет пользовательские MKAnnotation, который содержит анимированные CALayers после задержки X. Я предполагаю, что мне нужно позвонить view.layer removeAllAnimations перед вызовом removeFromSuperView.

В настоящее время я звоню только removeFromSuperView. Журнал

Stack:

Exception name: CALayer position contains NaN: [nan 163.74] 
__exceptionPreprocess + 1241536 
objc_exception_throw + 34136 
+[NSException raise:format:] + 1241348 
CA::Layer::set_position(CA::Vec2<double> const&, bool) + 11
-[CALayer setPosition:] + 1101608 
-[CALayer setFrame:] + 1103040 
-[UIView(Geometry) setFrame:] + 39996 
Mapbox (4306594984 + 60584) 
Mapbox (4306593356 + 58956) 
Mapbox (4306685072 + 150672) 
Mapbox (4306682568 + 148168) 
__NSFireDelayedPerform + 998556 

Любой входной сигнал был бы весьма признателен!

ответ

2

Проверьте, используете ли вы анимации в представлении, которые могут быть связаны с вашими ограничениями. В этом случае он может быть создан снимок представления и применять анимацию в этом представлении. После завершения снимите снимок.

[viewObject snapshotViewAfterScreenUpdates:YES]; 
+0

Хм .. Как вы уверены, что это вызывает проблему? –

+0

Привет, друг, я просто хочу поделиться приложением техники анимации для ограничений. Из-за этого проблема может быть не из-за этого. :) – KGen