在ViewController文件中我们可以做以下事情:
1 #pragma mark - 检测屏幕旋转 2 // 屏幕旋转所支持的样式 3 - (UIInterfaceOrientationMask)supportedInterfaceOrientations { 4 5 // 支持所有的方向 6 return UIInterfaceOrientationMaskAll; 7 } 8 9 // 如果想要在屏幕旋转的时候做一些操作,操作的方法写在这里(例如:视频播放器横竖屏切换的动画) 10 - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator { 11 12 NSLog(@"旋转"); 13 }
在对应的View文件中我们可以通过重写layoutSubviews来实现屏幕适配:
1 #pragma mark - 屏幕旋转,即适配 2 // 布局子视图:当屏幕旋转的时候,可以重新布局子视图的位置 3 // 假如我们的view上有一个按钮,下面通过改变该按钮的frame实现适配 4 - (void)layoutSubviews { 5 6 // 如果是竖屏,保持原来的尺寸 7 if ([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortrait) { 8 self.button.frame = CGRectMake(50, 200, self.frame.size.width - 100, 30); 9 } else { 10 // 如果是横屏,改变尺寸 11 self.button.frame = CGRectMake(50, 200, self.frame.size.width - 100, 30); 12 } 13 }
时间: 2024-11-06 01:36:10