美文网首页
AutoLayout自动适配

AutoLayout自动适配

作者: hunterzhu | 来源:发表于2016-07-14 15:06 被阅读16次

AutoLayout自动适配非常关键,因为很常用。
让我们来看看关于按钮的自动适配:

//这里不需要设置大小,反正,反正是自动适配
    modelButton = [[UIButton alloc] init];
    modelButton.center = self.view.center;
    
    modelButton.layer.cornerRadius = 8;
    
    modelButton.backgroundColor = [UIColor brownColor];
    
    [modelButton setTitle:@"模态" forState:UIControlStateNormal];
    [modelButton addTarget:self action:@selector(modelAction:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:modelButton];
    
    //小伙伴,这句话可不能少,取消button的自动适配
    modelButton.translatesAutoresizingMaskIntoConstraints = NO;
    
    NSString *hVFL = @"H:|-topSpace-[button]-bottomSpace-|";
    NSString *vVFL = @"V:|-leftSpace-[button]-rightSpace-|";
    
    NSDictionary *metrics = @{@"topSpace":@100,@"bottomSpace":@50,@"leftSpace":@80,@"rightSpace":@90};
    
    NSDictionary *views =@{@"button":modelButton};
    
    
    NSArray *hConstraint = [NSLayoutConstraint constraintsWithVisualFormat:hVFL
                                                                   options:NSLayoutFormatDirectionLeadingToTrailing
                                                                    metrics:metrics
                                                                      views:views];
    
    NSArray *vConstraint = [NSLayoutConstraint constraintsWithVisualFormat:vVFL
                                                                   options:NSLayoutFormatDirectionLeadingToTrailing
                                                                   metrics:metrics
                                                                     views:views];
    
    NSMutableArray *constraintArray = [[NSMutableArray alloc] init];
    
    //这样不行的原因是因为:addObject只能存储对象,而不能存储对象数组  所以要用addObjectsFromArray
//    [constraintArray addObject:hConstraint];
//    [constraintArray addObject:vConstraint];
    
    [constraintArray addObjectsFromArray:hConstraint];
    [constraintArray addObjectsFromArray:vConstraint];
    [self.view addConstraints:constraintArray];
    
//    [self.view addConstraints:hConstraint];
//    [self.view addConstraints:vConstraint];
竖屏
横屏

相关文章

  • AutoLayout自动适配

    AutoLayout自动适配非常关键,因为很常用。让我们来看看关于按钮的自动适配:

  • AutoLayout自动适配

    随着iPhone6/6+设备的上市,如何让手头上的APP适配多种机型多种屏幕尺寸变得尤为迫切和必要。在iPhone...

  • 适配

    屏幕适配 设备分辨率 什么是Autolayout Autolayout是一种“自动布局”技术,专门用来布局UI界面...

  • 版本适配

    屏幕适配 代码适配 Masonry UIView+AutoLayout 可视化适配 autoLayout 系统适配...

  • 用SnapKit适配tableviewcell的自适应高度

    iOS的时候经常用masnory进行适配,SnapKit是一个用Swift封装的autolayout自动适配的库,...

  • 全屏幕适配

    说起屏幕适配, 估计很多人都会想到autoLayout, 想到Masonry, 但是今天说的屏幕适配与这自动布局没...

  • iOS Cell 添加约束之后显示不对 报错:Will atte

    之前都是用AutoLayout来画cell,不怎么用来自动适配Cell的高度,所以一直没有遇到这个问题。 但是最近...

  • iOS11 Cell 添加约束之后显示不对 报错:Will at

    之前都是用AutoLayout来画cell,不怎么用来自动适配Cell的高度,所以一直没有遇到这个问题。 但是最近...

  • iOS开发之 自动布局

    iOS开发之自动布局AutoLayout 目录: 1 iOS自动布局简介2 iOS自动布局AutoLayout(代...

  • UI基础4

    自动布局 autoresizing:autolayout:size classes + autolayout:si...

网友评论

      本文标题:AutoLayout自动适配

      本文链接:https://www.haomeiwen.com/subject/elbejttx.html