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个像素高来正常显示文字。(默认字体)。