适配横竖屏的两种方式
2017-07-31 本文已影响38人
石头人R
[[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]; //考虑在里面重绘 } }
- (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; }