ios学习之uisplitview的学习

splitview是很多视图的分割,在ipad和iphone上的表现是不同的,应为ipad屏幕够宽,但iphone 6 plus 不同 因为其很宽,可以容纳很多,当在长或者宽不够的时候,会变成导航视图,来进行控制


下面是一些iphone的各尺寸


下面是具体的一个流程


首先把原先的视图全部删除掉,拖进来一个viewcontroller,在view controller中拖进一个contain view ,并且再拖进一个splitview 在contain view 中 将split view 包含进来 用 embed in  最后主视图如图所示




随后主代码部分就是为了为这个view controller在定义 为一个父视图

class traidOverrideController: UIViewController {

   //将新创建的viewcontroller包含经来,其为父控制器
//整段代码就在做这个
//首先定义在视图翻转的时候,其尺寸该怎么变化
    override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
        //自定义一个trait 具体也没搞懂
        var trait:UITraitCollection?
        //414是把6 plus 排除在外后,其他iphone的宽度
        if size.width < 414 {
            trait = UITraitCollection(horizontalSizeClass: UIUserInterfaceSizeClass.Regular)
        }
        else {
            trait = UITraitCollection(horizontalSizeClass: UIUserInterfaceSizeClass.Compact)
        }
        //覆盖下面的子视图 第一个视图 childviewcontroller.first 好像在ios8中会报错,因为其为anyobject 需要强制转化成 uiviewcontroller 不过 在ios9中貌似已经修复了这个问题,因此只要解包一下就好了,不需要强制转化
        setOverrideTraitCollection(trait, forChildViewController: childViewControllers.first!)
         //让其他的子视图也能进行相应的覆盖
        super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)
}
}

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值