iOS 7.1自动旋转:帧不会改变,而是使用变换矩阵

时间:2014-11-10 11:35:00

标签: ios objective-c iphone ipad

我正在见证oniOS 7.1上的奇怪行为,无论是在模拟器还是真实设备下。

如果我使用默认设置在Xcode中设置一个空项目,则添加以下方法:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {

    NSLog(@"VIEW: %@", self.view);
    [super didRotateFromInterfaceOrientation:fromInterfaceOrientation];
}

我得到的是4个方向的以下痕迹:

2014-11-10 12:25:59.190 testingRotation[13148:60b] VIEW: <UIView: 0x7a948980; frame = (0 0; 320 568); transform = [0, 1, -1, 0, 0, 0]; autoresize = W+H; layer = <CALayer: 0x7a948140>>
2014-11-10 12:26:01.415 testingRotation[13148:60b] VIEW: <UIView: 0x7a948980; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x7a948140>>
2014-11-10 12:26:03.559 testingRotation[13148:60b] VIEW: <UIView: 0x7a948980; frame = (0 0; 320 568); transform = [0, -1, 1, 0, 0, 0]; autoresize = W+H; layer = <CALayer: 0x7a948140>>
2014-11-10 12:26:06.187 testingRotation[13148:60b] VIEW: <UIView: 0x7a948980; frame = (0 0; 320 568); transform = [0, 1, -1, 0, 0, 0]; autoresize = W+H; layer = <CALayer: 0x7a948140>>

如您所见,框架不会更改,并且会使用变换来旋转视图内容。

只有在使用iOS 7时才会发生这种情况。一切都在iOS 8下正常运行。不幸的是我无法在iOS 6下测试这个。

有人可以解释一下吗?

0 个答案:

没有答案