• iOS 工程默认只允许竖屏,在单独界面进行横竖转换,屏幕旋转


    只含有 。关于横竖屏的代码

    #import "InspectionReportViewController.h"
    
    #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
    
    #define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)
    @interface InspectionReportViewController ()<UIWebViewDelegate>
    {
        UIWebView *webview;
    
        UIButton * back;
     
    }
    @end
    
    @implementation InspectionReportViewController
    
    -(BOOL)shouldAutorotate{
        
        return NO;
    }
    
    - (UIInterfaceOrientationMask)supportedInterfaceOrientations
    {
        // 如果该界面需要支持横竖屏切换
        return UIInterfaceOrientationMaskLandscapeRight | UIInterfaceOrientationMaskPortrait;
        // 如果该界面仅支持横屏
        // return UIInterfaceOrientationMaskLandscapeRight;
    }
    
    -(void)viewWillAppear:(BOOL)animated{
        [super viewWillAppear:animated];
      
    }
    -(void)viewWillDisappear:(BOOL)animated{
        [super viewWillDisappear:animated];
       
    }
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
    
    [self CreatUI];
     
        //横屏同志UIApplicationDidChangeStatusBarFrameNotification   UIDeviceOrientationDidChangeNotification
        [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
        
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceOrientationDidChange) name:UIDeviceOrientationDidChangeNotification object:nil];
    }
    
    -(void)CreatUI{
        
        self.view.backgroundColor = [UIColor blackColor];
        
        webview = [[UIWebView alloc] initWithFrame:self.view.bounds];
        webview.backgroundColor = [UIColor blackColor];
        
        [webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://60.205.188.204:8087/WebDcmviewer/dcmviewer.html?org_code=%@&check_id=%@",_org_code,_check_id]]]];
    
        webview.scalesPageToFit = YES;
        webview.scrollView.scrollEnabled = NO;
        [self.view addSubview:webview];
        
      
         back = [myButton buttonWithType:UIButtonTypeCustom frame:CGRectMake(ScreenWidth-IPHONEWIDTH(120), ScreenHeight-IPHONEHIGHT(100), IPHONEWIDTH(50), IPHONEHIGHT(50)) tag:1 image:@"ic_history_ct_return" andBlock:^(myButton *button) {
            
            [self.navigationController popViewControllerAnimated:YES];
            
            
        }];
    
        [self.view addSubview:back];
        
        
    }
    
    
    
    //横屏
    - (void)deviceOrientationDidChange
    {
        NSLog(@"deviceOrientationDidChange:%ld",(long)[UIDevice currentDevice].orientation);
        
        if([UIDevice currentDevice].orientation == UIDeviceOrientationPortrait) {
            
            [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];
            
            [UIView animateWithDuration:0.1f animations:^{
                
                self.view.transform = CGAffineTransformMakeRotation(0);
           self.view.bounds = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
          
                webview.frame = self.view.bounds;
                
                back.frame = CGRectMake(SCREEN_WIDTH-IPHONEWIDTH(80), SCREEN_HEIGHT-IPHONEHIGHT(100), IPHONEHIGHT(60), IPHONEHIGHT(60));
                
       
            }];
    
            
           
            
            //注意: UIDeviceOrientationLandscapeLeft 与 UIInterfaceOrientationLandscapeRight
        } else if ([UIDevice currentDevice].orientation == UIDeviceOrientationLandscapeLeft ) {
            
            [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];
          
            [UIView animateWithDuration:0.1f animations:^{
                
                self.view.transform = CGAffineTransformMakeRotation(M_PI_2);
                
                self.view.bounds = CGRectMake(0, 0, SCREEN_HEIGHT, SCREEN_WIDTH);
    
                webview.frame = self.view.bounds;
                
                back.frame = CGRectMake(SCREEN_WIDTH-IPHONEWIDTH(80), SCREEN_HEIGHT-IPHONEHIGHT(100), IPHONEHIGHT(60), IPHONEHIGHT(60));
       
                
            }];
    
            
    
           
        }else if ( [UIDevice currentDevice].orientation== UIDeviceOrientationLandscapeRight){
            
            
            [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft];
            
            [UIView animateWithDuration:0.1f animations:^{
                
                self.view.transform = CGAffineTransformMakeRotation(-M_PI_2);
                
             self.view.bounds = CGRectMake(0, 0,SCREEN_HEIGHT, SCREEN_WIDTH);
     
                webview.frame = self.view.bounds;
                
                back.frame = CGRectMake(SCREEN_WIDTH-IPHONEWIDTH(80), SCREEN_HEIGHT-IPHONEHIGHT(100), IPHONEHIGHT(60), IPHONEHIGHT(60));
    
    
            }];
        }
    }
    
    /*
    #pragma mark - Navigation
    
    // In a storyboard-based application, you will often want to do a little preparation before navigation
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        // Get the new view controller using [segue destinationViewController].
        // Pass the selected object to the new view controller.
    }
    */
    
    @end
  • 相关阅读:
    有关选择的心法(2)
    系统故障排查和确认是否被入侵
    伪善还是妥协
    建恒信安日志审计部署
    有关选择的心法
    数据统治世界----37%原则
    控制二分法
    磁盘空间耗尽导致服务器无法启动
    Linux 标准目录结构 FHS
    Linux入侵类问题排查思路
  • 原文地址:https://www.cnblogs.com/xujiahui/p/6617969.html
Copyright © 2020-2023  润新知