【iOS开发-120】在storyboard中如何使用Size Classes,其实就是设置多套AutoLayout

(1)在storyboard中使用Size Classes。

我们之前使用过AutoLayout,目前多了一个Size Classes,可以看做是在不同的Size Classes下进行AutoLayout设置。

详细教程,http://www.cocoachina.com/ios/20141020/9978.html

——貌似,storyboard的功能越来越强大了。光是不同尺寸和屏幕的适配,就足以让敲代码成为一种痛苦。

——找了很多博文,发现,几乎都是谈如何在storyboard中使用Size Classes的,几乎没找到用代码实现Size Classes的。

引用自Joywii‘s Blog:iOS8 Size Classes的理解与使用

- (void)willTransitionToTraitCollection:(UITraitCollection *)newCollection
              withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator>)coordinator
{
    [super willTransitionToTraitCollection:newCollection
                 withTransitionCoordinator:coordinator];
    [coordinator animateAlongsideTransition:^(id <UIViewControllerTransitionCoordinatorContext> context)
    {
        if (newCollection.verticalSizeClass == UIUserInterfaceSizeClassCompact) {
            //To Do: modify something for compact vertical size
        } else {
            //To Do: modify something for other vertical size
        }
        [self.view setNeedsLayout];
    } completion:nil];
}

在两个To Do处,我们要手写代码针对不同的状态做调整。

时间: 2024-11-04 22:00:58

【iOS开发-120】在storyboard中如何使用Size Classes,其实就是设置多套AutoLayout的相关文章

iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式

iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式 说明: 1)该文简短介绍在iOS开发中遍历字典.数组和集合的几种常见方式. 2)该文对应的代码可以在下面的地址获得:https://github.com/HanGangAndHanMeimei/Code 一.使用for循环 要遍历字典.数组或者是集合,for循环是最简单也用的比较多的方法,示例如下: 1 //普通的for循环遍历 2 -(void)iteratorWithFor 3 { 4 //////////处理数组/////

iOS开发(OC)中的命名规范

开小差:最近发现自己有一个经验主义的毛病,不太容易接受新的知识,这对从事技术研发的人来说不太合理,需要改之. 正文:通过读写大量代码我有自己的一套编程思路和习惯,自认为自己的编码习惯还是不错的,代码结构也算清晰,因为我一直以来都是代码看的多写的多,但是总结的比较少,知识经常不成体系.以后多花点时间把自己的经验和学习知识加以总结一下吧,这样有利于去指导新人,也更有利于加深自己的知识认知.今天就从代码规范入手总结一下iOS开发中好的编码规范吧.我们在开发中看别人的代码的时候经常会去抱怨至少内心里骂娘

iOS开发拓展篇—xib中关于拖拽手势的潜在错误

iOS开发拓展篇—xib中关于拖拽手势的潜在错误 一.错误说明 自定义一个用来封装工具条的类 搭建xib,并添加一个拖拽的手势. 主控制器的代码:加载工具条 封装工具条以及手势拖拽的监听事件 此时运行程序,程序直接崩溃,报错如下: 说明:手势不会有superView方法,superView是UIView的方法,说明我们错误的把手势对象当成是UIView来用了. 调试查看出现问题的原因: 出现问题的原因: 说明:通过lastObject取出来的对象是手势,而不是xib,因此出现上面的错误. 把la

iOS开发教程:Storyboard全解析-第一部分

本文转载至http://blog.csdn.net/chang6520/article/details/7945845 感谢原文作者分享 故事版(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图:   现在,你就可以清楚的看到这个应用究竟是干些什么的,也可以清楚的看到其中的各种关系,这就是Storyboard的强大之处了.如果你要制作一个页面很多很复杂的App,Storyboa

【iOS开发-5】storyboard还是苦逼摞代码?看看各家之言

(1)代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧 对于菜鸟,建议用storyboard而不必花费太多时间在枯燥的代码里而失去兴趣.而至于代码,他说在用storyboard不可避免肯定会用到代码.这里面提到的xib应该是storyboard的前身.那个时候的XIB不太适合做版本管理,比如用diff检查两个版本之间的区别等,所以对于大一点的认真一点的工程都是代码优先,而XIB作为入门练习的赶脚.但storyboard既然是演化过来的,自然改

ios开发数组排序(数组中包括字典)

iphone开发数组排序(数组中包括字典) 1.普通数组排序: NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"0",@"8",@"6",@"1",nil]; NSArray *sortedArray = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2){ if ([obj

iOS开发手记-iOS8中使用定位服务解决方案

问题描述: 在iOS8之前,app第一次开始定位服务时,系统会弹出一个提示框来让用户选择是否允许使用定位信息.但iOS8后,app将不会出现这个弹窗.第一次运行之后,在设置->隐私->定位服务中,你的app没有任何设置,既不是“永不”,也不是“始终”. 代码如下: #import "XYZFirstViewController.h" @interface XYZFirstViewController () - (IBAction)LocateButtonClick:(id)

ios开发日记 -16 Xcode6快捷键、小技巧与xib圆角设置

以下都是使用Xcode6的一些记录,比较杂,不定期持续更新…… 快捷键: 1.StoryBoard技巧 当你想直接在view中选择自己想要的元素时,但是又碍于一个view上叠加的元素太多很难直接选中,那么在这时,你同时按住键盘上的shift和 control键,然后在你想选择的元素上点击鼠标,会弹出一个窗口,上面罗列了鼠标点击的位置下所有存在的元素,然后你再去进行选择会变的异常的简单. 2.快速在文件树视力中切换到当前文件 在Xcode中经常会遇到跳转比较多的情形,有时候若跳转到某个m文件,然后

为什么iOS开发不需要Storyboard( 转)

当我在Xcode中创建一个新的iOS项目,无论它是iPhone/iPad设备独占还是universal的,我做的第一件事总是删除Storyboard. 并且,和你们想象的不同,我并不是想用XIB来代替Storyboard,我完全不使用Interface Builder. Treehouse论坛对此有很棒的讨论,并且我听到的说法总是类似:Interface Builder会鼓励做出坏的实践. 因为我之前有在Window平台使用Visual Studio开发的经验,我可以很自信的说,Interfac