iOS的横竖屏切换

1.监听广播

//监听横竖屏切换的广播
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(doRotateAction:)
                                                     name:UIDeviceOrientationDidChangeNotification
                                                   object:nil];

2.在监听屏幕翻转的函数里实现UI自适应

- (void)doRotateAction:(NSNotification *)notification {
    CGRect frame = self.headlineView.frame;
    
    if ([[UIDevice currentDevice] orientation] == UIInterfaceOrientationPortrait
        || [[UIDevice currentDevice] orientation] == UIInterfaceOrientationPortraitUpsideDown) {
        //竖屏
    } else {
        //横屏
    }
    
    self.sourceWidth = [[UIScreen mainScreen] bounds].size.width;//实时计算当前屏幕的宽度
}


1. 状态栏高度:20,有通话的时候40. 

2. NavigationController导航栏高度44,横屏的时候32. 

3. Tabbar,48, 

4. toolbars,44。 

5. 键盘。一般来说是320x216,横屏的时候是480x162.不过这个做不得准,可以通过回调来获取。 

6. 一般来说,button,label,textfield至少需要30个像素高来正常显示文字。(默认字体)。 

你可能感兴趣的:(iOS的横竖屏切换)