iPad 横竖屏两套UI适配 ---- Masonry

iPad上的应用一般都会横竖屏支持,所以同一个界面页面的横竖布局也是不一样的。要实现横竖布局的不一样一般用到了UIView的layoutSubView方法。当UIView设置为自动适配屏幕时,当用户设备旋转的时候,就会调用layoutSubView这个方法,只要重写这个方法,然后判断屏幕的方向,调整控件的位址就可以了。现在大家可能会有些疑问,为什么不在UIViewController的这个方法:

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

进行判断。因为这个方法是作用于UIViewController下的,而不是直接作用于UIView进行控制,所以会发生延迟,作用的对象也不正确。所以建议用layoutSubView这个方法。在控制器中用viewWillLayoutSubviews或者viewDidLayoutSubviews方法。

判断横竖方法

if([UIApplicationsharedApplication].keyWindow.frame.size.width<     [UIApplicationsharedApplication].keyWindow.frame.size.height) {

// 竖屏

iPad 横竖屏两套UI适配 ---- Masonry_第1张图片

} else {

// 横屏

iPad 横竖屏两套UI适配 ---- Masonry_第2张图片

}

网上还有其他的方法,每个系统版本可能判断的方式可能不一,具体可以去找度娘或者google。

demo下载地址 https://pan.baidu.com/s/1eSJqdHo

你可能感兴趣的:(iPad 横竖屏两套UI适配 ---- Masonry)