ios某一个屏幕支持旋转,其他不支持的方法

1.首先你要把工程设置成可以旋转,targets的Device Orientation中设置

2.确定你的rootViewController是哪一种,如果你的rootviewcontroller是UINavigationController,你就需要重写一个navigationcontroller

继承UINavigationController,然后在你写的navigationcontroller中加入以下代码

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return toInterfaceOrientation != UIDeviceOrientationPortraitUpsideDown;
}

- (BOOL)shouldAutorotate
{
    if ([self.topViewController isKindOfClass:[CEVideoViewController class]]) { // 如果是这个 vc 则支持自动旋转
        return YES;
    }
    return NO;
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
    if ([self.topViewController isKindOfClass:[CEVideoViewController class]]) { // 如果是这个 vc 则支持自动旋转
        return UIInterfaceOrientationMaskAllButUpsideDown;
    }
    return UIInterfaceOrientationMaskPortrait;
}

3.如果你的window的rootviewcontroller是UITabBarController那你要新建一个tabbarcontroller继承于UITabBarController,然后在你写的tabbarcontroller里面加入

- (BOOL)shouldAutorotate
{
    return YES;
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
    UINavigationController *navController = (UINavigationController *)self.selectedViewController;
    if ([navController.topViewController isKindOfClass:[CEVideoViewController class]]) {
        return UIInterfaceOrientationMaskAllButUpsideDown;
    } else {
        return UIInterfaceOrientationMaskPortrait;
    }
    
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return YES;
}

就可以支持某一个屏幕旋转,其他的不旋转了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值