文档章节

Massary屏幕适配,自动布局

iOS赵师顺
 iOS赵师顺
发布于 2016/06/26 11:15
字数 379
阅读 50
收藏 0
- (void)viewDidLoad {

    [super viewDidLoad];

    //    添加红蓝两个控件

    UIView *blueView = [[UIView alloc]init];

    blueView.backgroundColor = [UIColor blueColor];

    blueView.translatesAutoresizingMaskIntoConstraints = NO;

    [self.view addSubview:blueView];

    

    UIView *redView = [[UIView alloc]init];

    redView.backgroundColor = [UIColor redColor];

    redView.translatesAutoresizingMaskIntoConstraints = NO;

    [self.view addSubview:redView];

    

    //    添加约束

    

/**

 练习1:

 */

    

    /*

    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {

        

//        固定大小用mas_equalTo

        make.width.mas_equalTo(100);

        make.height.mas_equalTo(100);

//        与其他控件比较equalTo

        make.centerX.equalTo(self.view.mas_centerX);

        make.centerY.equalTo(self.view.mas_centerY);

    }];

*/

    

    /**

     练习2:

     */

   /*

    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {

        make.left.equalTo(self.view.mas_left).offset(30);

        make.bottom.equalTo(self.view.mas_bottom).offset(-30);

        make.right.equalTo(redView.mas_left).offset(-30);

        make.height.mas_equalTo(50);

    }];

    

    [redView mas_makeConstraints:^(MASConstraintMaker *make) {

       

        make.right.equalTo(self.view.mas_right).offset(-30);

        make.bottom.equalTo(blueView.mas_bottom);

        make.height.equalTo(blueView.mas_height);

        make.width.equalTo(blueView.mas_width);

    }];

   */

    /**

     练习3:

     */

    /*

    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {

        make.left.equalTo(self.view.mas_left).offset(30);

        make.top.equalTo(self.view.mas_top).offset(30);

        make.right.equalTo(self.view.mas_right).offset(-30);

        make.height.mas_equalTo(50);

        

    }];

    [redView mas_makeConstraints:^(MASConstraintMaker *make) {

        make.right.equalTo(blueView.mas_right);

        make.top.equalTo(blueView.mas_bottom).offset(30);

        make.height.equalTo(blueView.mas_height);

        make.left.equalTo(blueView.mas_centerX);

    }];

     */

//    删除约束,重新添加

    [blueView mas_remakeConstraints:^(MASConstraintMaker *make) {

        

    }];

//    更新约束

    [blueView mas_updateConstraints:^(MASConstraintMaker *make) {

        

    }];

    

}
//方法一,array 的 mas_distributeViewsAlongAxis
/**
 *  多个控件固定间隔的等间隔排列,变化的是控件的长度或者宽度值
 *
 *  @param axisType        轴线方向
 *  @param fixedSpacing    间隔大小
 *  @param leadSpacing     头部间隔
 *  @param tailSpacing     尾部间隔
 */
//    MASAxisTypeHorizontal  水平
//    MASAxisTypeVertical    垂直

[arrayList mas_distributeViewsAlongAxis:MASAxisTypeHorizontal
                       withFixedSpacing:20
                            leadSpacing:5
                            tailSpacing:5];
[arrayList mas_makeConstraints:^(MASConstraintMaker *make) {
    make.top.mas_equalTo(60);
    make.height.mas_equalTo(100);
}];

/**
 *  多个固定大小的控件的等间隔排列,变化的是间隔的空隙
 *
 *  @param axisType        轴线方向
 *  @param fixedItemLength 每个控件的固定长度或者宽度值
 *  @param leadSpacing     头部间隔
 *  @param tailSpacing     尾部间隔
 */
[arrayList mas_distributeViewsAlongAxis:MASAxisTypeVertical
                    withFixedItemLength:60
                            leadSpacing:40
                            tailSpacing:10];
[arrayList mas_makeConstraints:^(MASConstraintMaker *make) {
    //        make.top.mas_equalTo(100);
    //        make.height.mas_equalTo(100);
    make.left.mas_equalTo(20);
    make.right.mas_equalTo(-20);
}];

 

© 著作权归作者所有

共有 人打赏支持
iOS赵师顺
粉丝 3
博文 74
码字总数 36150
作品 0
昌平
程序员
私信 提问
Android适配全面总结(一)

前言 Android适配是一个老生常谈的问题,很多程序员觉得很恶心,不愿意做适配,但是又不得不做。然后老板说,这位兄弟,做好了,今天晚饭给你加个鸡腿,然后程序员开始找各种资料,忙活起来了...

阿韦爱Android
2017/11/14
0
0
iOS 自动布局库--MyLinearLayout

MyXXXXLayout 是一个功能强大的 iOS 布局类库,可以适配各种屏幕和各种操作系统 ,不需要去学习 AutoLayout,不用去学习 Size Class。 如果您还在使用frame进行界面布局,而对位置计算感到厌烦...

欧阳大哥
2015/08/18
772
0
Android 屏幕适配

由于 Android 系统的开放性,任何用户、开发者、OEM 厂商、运营商都可以对 Android 进行定制,于是导致: Android 系统碎片化: 小米定制的 MIUI、魅族定制的 flyme、华为定制的 EMUI 等等—...

guozhendan
2017/04/04
0
0
今日头条屏幕适配方案终极版正式发布!

原文地址: https://www.jianshu.com/p/4aa23d69d481 以下是 骚年你的屏幕适配方式该升级了! 系列文章,欢迎转发以及分享: 骚年你的屏幕适配方式该升级了!(一)-今日头条适配方案 骚年你的屏...

JessYan
10/23
0
0
Android初级第九讲之适配和调试

本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! Android适配需要考虑方方面面,主要是图片字体大小和API,但也要考虑其他场景下的一些问题。 先熟悉一下Android设备的dpi...

liuzxgeek
2016/12/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
18分钟前
1
0
《读书是教师最好的修行》读后感优秀范文2200字

《读书是教师最好的修行》读后感优秀范文2200字: 作者:吴淑英;《读书是教师最好的修行》一书,收录了作者对50本经典书籍阅读后阐发的感受。作者10年来坚持每周阅读一本书,并写一篇读后感...

原创小博客
20分钟前
0
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
1
0
HashTable和Vector为什么逐渐被废弃

HashTable,不允许键值为null,还一个就是put方法使用sychronized方法进行线程同步,单线程无需同步,多线程可用concurren包的类型。 如编程思想里面说的作为工具类,封闭性做的不好没有一个...

noob_chr
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部