iOS 16强制切换横竖屏失效解决

ios16切换横竖屏代码

           [vc.navigationController setNeedsUpdateOfSupportedInterfaceOrientations];
           UIInterfaceOrientationMask  faceOrientationMask = UIInterfaceOrientationMaskLandscapeRight;
           NSArray *array = [[[UIApplication sharedApplication] connectedScenes] allObjects];
           UIWindowScene *ws = (UIWindowScene *)array[0];
           UIWindowSceneGeometryPreferencesIOS *geometryPreferences = [[UIWindowSceneGeometryPreferencesIOS alloc] init];
           geometryPreferences.interfaceOrientations = faceOrientationMask;
           [ws requestGeometryUpdateWithPreferences:geometryPreferences
                                       errorHandler:^(NSError * _Nonnull error) {
               //业务代码
           }];

注意:
1.ios16 开始 UIDeviceOrientationDidChangeNotification通知也失效了
2.上方代码Xcode14以下无法编译,可以用解决

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 160000
#endif

3.同时注意手机系统版本判断

@available(iOS 16.0, *)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容