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

【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处,我们要手写代码针对不同的状态做调整。


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