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) {

// 竖屏

} else {

// 横屏

}

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、监听横竖屏的切换 1、通知方式: 如果使用这个通知,当iPhone/iPad旋转的时候,你会得到的旋转方向会是...
    CholMay阅读 14,373评论 6 33
  • 1、设置UILabel行间距 NSMutableAttributedString*attrString=[[NSM...
    iOS祎阅读 6,607评论 0 0
  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 4,799评论 1 6
  • 我站在坟前 面前是空空的墓碑 人群已散去 我来送你最后一程 只有我了解 你和她过往的一切 我会去忘记 你经历的所有...
    jianshuxuhan阅读 3,301评论 0 4
  • 2017年7月25日临近清晨 天外也许是正在微亮,入梦的人在现实中扭曲,模糊又清楚地看着熟悉的他。也许这是平行宇宙...
    必繎阅读 1,280评论 0 0