适配横竖屏的两种方式

  1. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statusBarOrientationChange:) name:UIApplicationDidChangeStatusBarOrientationNotification object:nil];   
    
     - (void)statusBarOrientationChange:(NSNotification *)notification
    {
    
      UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
    
     if (orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown) {
     //翻转为竖屏时
       [self constrainsForPortrait];
       [self drawKline];
       [self drawLine];
       [self drawMA5];
       [self.tableView reloadData];
       }
      if (orientation==UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight) {
         
         [self constrsinsForLandscape];
         [self drawKline];
         [self drawLine];
         [self drawMA5];
         [self.tableView reloadData];
         //考虑在里面重绘
       }
     }
    
  2.    - (NSInteger)needDrawKlineCount
     {
         CGFloat width = 0;
       UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
      if (orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown) {
     
         width = SCREEN_WIDTH-50;
     
       }else{
         width = SCREEN_HEIGHT - 50;
     }
       _needDrawKlineCount = ceil(width/self.rowHeight);
       return _needDrawKlineCount;
     }
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容