在iOS 11

时间:2017-09-05 21:45:36

标签: objective-c autolayout ios11 xcode9-beta

我的应用程序有一个按钮,可以将视图旋转90度并相应地更改其框架,以便横向填充屏幕。

代码如下:

CGAffineTransform transform = CGAffineTransformRotate(self.tabsView.transform, M_PI_2);

self.tabsView.transform = transform;


CGRect newFrame = CGRectMake( self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);

self.tabsView.frame = newFrame;

它就像 iOS 10及更低版上的魅力一样: Lanscape iOS 10

但是在iOS 11模拟器中 Xcode 9 beta 6上运行我得到了这个结果: Landscape iOS 11

这是一个错误还是在我不知道的这个版本中做了什么改变? 我使用自动布局。

1 个答案:

答案 0 :(得分:0)

我刚刚找到了解决方案。有必要添加这行代码:

self.tabsView.translatesAutoresizingMaskIntoConstraints = YES;

它将自动调整遮罩的视图转换为自动布局约束。 有了这个,我在两个iOS版本上都有相同的结果。