转换使UIView在iPhone 6设备上消失

时间:2015-04-14 01:54:19

标签: ios objective-c iphone transform

我遇到了iPhone 6设备特有的最奇怪的问题。这与在UIView上进行转换有关。

如果我在我的UIView上做了类似的事情:

view.transform = CGAffineTransformMakeRotation(3.14/10)

然后视图完全消失。在我的iPhone 5上,视图会按原样旋转,但在iPhone 6上它会完全消失。

任何使用变换的动画也可以在我的iPhone 5上完美运行,但在我的iPhone 6上它没有显示,有时会显示我正在尝试制作动画的“分片”视图。

这是iPhone 6特定的,仅在设备上发生,而不在模拟器中。

关于这可能是什么的任何建议?

2 个答案:

答案 0 :(得分:2)

当你有一个非标识转换时,似乎某些东西正在使用视图的frame,这是 undefined 。例如,可能有一个layoutSubviews方法或constraint which is interacting badly with your view(在iOS 8中它更好,但也许你遇到了一个尚未解决的案例)。由于你没有提供一个完整的例子,很难说清楚到底发生了什么。

您可以尝试使用Xcode的视图检查器或Reveal这样的工具,它可以显示您的视图最终结束的位置以及对其执行的约束。如果那不具有指导性,那么你应该做一个最小的例子并发布它。

也可能是iOS版本的差异。您的设备和模拟器是否共享相同的点发布?

答案 1 :(得分:0)

最终特定于RubyMotion,很抱歉用iOS标签发布它 - http://community.rubymotion.com/t/transform-making-uiview-disappear-on-iphone-6-device/344/4