视图的框架大小在 iOS 11 中没有改变
frame size of view not changing in iOS 11
我的应用程序有一个按钮,可以将我的视图旋转 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 岁及以下 非常有效:
但是 运行 它在 Xcode 9 beta 6 上 iOS 11 模拟器 我得到这个结果:
这是一个 bug 还是这个版本有什么我不知道的变化?
我使用自动布局。
我刚刚找到了解决方案。有必要添加这行代码:
self.tabsView.translatesAutoresizingMaskIntoConstraints = YES;
它将视图自动调整大小掩码转换为自动布局约束。
这样,我在两个 iOS 版本上得到了相同的结果。
我的应用程序有一个按钮,可以将我的视图旋转 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 岁及以下 非常有效:
但是 运行 它在 Xcode 9 beta 6 上 iOS 11 模拟器 我得到这个结果:
这是一个 bug 还是这个版本有什么我不知道的变化? 我使用自动布局。
我刚刚找到了解决方案。有必要添加这行代码:
self.tabsView.translatesAutoresizingMaskIntoConstraints = YES;
它将视图自动调整大小掩码转换为自动布局约束。 这样,我在两个 iOS 版本上得到了相同的结果。