Преобразование делает исчезновение UIView на устройстве iPhone 6

У меня самая странная проблема, характерная для устройства iPhone 6. Это связано с преобразованием в UIView.

Если я сделаю что-то подобное на моем UIView:

view.transform = CGAffineTransformMakeRotation(3.14/10)

Тогда вид полностью исчезает. На моем iPhone 5 изображение поворачивается как следует, а на iPhone 6 оно полностью исчезает.

Любая анимация, использующая трансформацию, также отлично работает на моем iPhone 5, но на моем iPhone 6 она не отображается, а иногда показывает "заштрихованные" виды того, что я пытаюсь оживить.

Это характерно для iPhone 6 и происходит только на устройстве, а не в симуляторе.

Любые предложения о том, что это может быть?

2 ответа

Кажется вероятным, что что-то использует frame вида, который не определен, когда у вас есть неидентифицирующее преобразование. Например, может существовать метод layoutSubviews или ограничение, которое плохо взаимодействует с вашим представлением (это лучше в iOS 8, но, возможно, вы столкнулись с еще не решенным делом). Трудно сказать, что именно происходит, так как вы не привели полностью пример.

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

Также могут быть различия в версии для iOS. Ваши устройства и симуляторы имеют одинаковую версию?

В конечном итоге он был специфичным для RubyMotion, поэтому извините за публикацию его с тегами iOS - http://community.rubymotion.com/t/transform-making-uiview-disappear-on-iphone-6-device/344/4.

Другие вопросы по тегам