-(void)makeEqualDisViews:(NSArray *)views inView:(UIView *)containerView LRpadding:(CGFloat)LRpadding viewWidth:(CGFloat)viewWidth

{

UIView * lastView;

__block NSInteger index = 0;

NSMutableArray * tempViewsArray = [NSMutableArray new];

for( int i = 0; i < views.count-1; ++ i )

{

UIView * v = [UIView new];

v.backgroundColor = [UIColor blueColor];

[containerView addSubview:v];

[tempViewsArray addObject:v];

[v mas_makeConstraints:^(MASConstraintMaker *make) {

make.height.equalTo(@5);

make.bottom.equalTo(containerView.mas_bottom);

}];

if( i > 0 )

{

[v mas_makeConstraints:^(MASConstraintMaker *make) {

make.width.equalTo(((UIView*)[tempViewsArray objectAtIndex:0]).mas_width);

}];

}

}

for( UIView * view in views )

{

if( index >= 10 )

break;

[containerView addSubview:view];

if( lastView )

{

[view mas_makeConstraints:^(MASConstraintMaker *make) {

UIView * v = tempViewsArray[index];

make.left.equalTo(v.mas_right);

make.width.height.equalTo([NSNumber numberWithFloat:viewWidth]);

make.centerY.equalTo(containerView);

if( index < views.count-2)

{

UIView * rV = tempViewsArray[index+1];

make.right.equalTo(rV.mas_left);

}

++ index;

}];

}

else

{

[view mas_makeConstraints:^(MASConstraintMaker *make) {

make.width.height.equalTo([NSNumber numberWithFloat:viewWidth]);

make.left.equalTo(containerView).offset(LRpadding);

make.centerY.equalTo(containerView);

}];

UIView * v = tempViewsArray[0];

[v mas_makeConstraints:^(MASConstraintMaker *make) {

make.left.equalTo(view.mas_right);

}];

}

lastView = view;

}

if( lastView )

{

[lastView mas_makeConstraints:^(MASConstraintMaker *make) {

make.right.equalTo(containerView).offset(-LRpadding);

}];

}

}

主要是加入了辅助的价格view来进行排列

Masonry 固定宽度 等间距的更多相关文章

  1. Masonry的一些等间距布局

    控件之间的间距相等,但是控件的宽度是不定的. 下列的代码:定义间距为10,yellowview的宽度是由redView的宽度计算出来的. UIView *redView = [[UIView allo ...

  2. masonry框架的使用之-多个视图的均匀等间距分布

    __weak typeof(self) weakSelf = self; //对self进行weak化,否则造成循环引用无法释放controller UIView * tempView = [[UIV ...

  3. Masonry和FDTemplateLayoutCell 结合使用示例Demo

    我们知道,界面布局可以用Storyboard或Xib结合Autolayout实现,如果用纯代码布局,比较热门的有Masonry.SDAutoLayout,下面的简单demo,采用纯代码布局,实现不定高 ...

  4. 【原】iOS学习之Masonry第三方约束

    1.Masonry概述 目前最流行的Autolayout第三方框架 用优雅的代码方式编写Autolayout 省去了苹果官方恶心的Autolayout代码 大大提高了开发效率 框架地址:https:/ ...

  5. iOS AutoLayout自动布局&Masonry介绍与使用实践

    Masonry介绍与使用实践:快速上手Autolayout http://www.cnblogs.com/xiaofeixiang/p/5127825.html http://www.cocoachi ...

  6. 流式布局&固定宽度&响应式&rem

    我们现在在切页面布局的使用常用的单位是px,这是一个绝对单位,web app的屏幕适配有很多中做法,例如:流式布局.限死宽度,还有就是通过响应式来做,但是这些方案都不是最佳的解决方法. 1.流式布局: ...

  7. iOS开发 Masonry的简单使用

    首先,在正式使用Masonry之前,我们先来看看在xib中我们是如何使用AutoLayout     从图中我们可以看出,只要设置相应得局限,控制好父视图与子视图之间的关系就应该很ok的拖出你需要的需 ...

  8. PureLayout和Masonry比较

    一年前那时我做iOS开发,为了自动布局适配多种屏幕,我一般使用Masonry,后来偶然地在一个视频教程中发现老师使用了UIView+Autolayout(现在作者改名为PureLayout)自动布局, ...

  9. iOS-布局-Masonry

    一.说明:demo中的举例视图介绍  UIView        *_blackView;     作为父视图  UIView        *_redView;       与父视图内边距为10   ...

随机推荐

  1. 一个简单的以User权限启动外部应用程序(用NetUserAdd函数和USER_INFO_1结构体动态添加用户,然后用CreateProcessWithLogonW启动程序)

    版权声明:本文为博主原创文章,未经博主允许不得转载. BOOL ExecuteAsUser(LPCWSTR lpszUserName, LPCWSTR lpszPassword, LPCWSTR lp ...

  2. FreePascal经典资料

    ------------------------------------------------------------------------ 这是每个版本的changelog: http://bu ...

  3. Linux命令-tar

    tar命令用于对文件打包压缩或解压 格式:tar [选项 -C 指定解压到的目录] [文件] 打包并压缩文件: tar -zcvf 压缩包名.tar.gz 文件名 解压并展开压缩包 tar -zxvf ...

  4. 处理11gR2 RAC集群资源状态异常INTERMEDIATE,CHECK TIMED OUT

    注意节点6,7的磁盘CRSDG的状态明显不正常.oracle@ZJHZ-PS-CMREAD-SV-RPTDW06-DB-SD:~> crsctl status resource -t |less ...

  5. SQL中的Null深入研究分析

    SQL中的Null深入研究分析 虽然熟练掌握SQL的人对于Null不会有什么疑问,但总结得很全的文章还是很难找,看到一篇英文版的, 感觉还不错. Tony Hoare 在1965年发明了 null 引 ...

  6. Data Flow ->> DQS Cleansing

    Data Quality Services(DQS)是SQL Server 2012引入的一大特性.这个服务的任务是为了实现客户端数据标准化和清理错误数据的.比如客户端数据容易因为用户输出诸如像城市名 ...

  7. Reads sequentially from multiple sources

    /* * Copyright (C) 2016 Stephen Ostermiller * http://ostermiller.org/contact.pl?regarding=Java+Utili ...

  8. Linux内核基础--事件通知链(notifier chain)

    转载: http://blog.csdn.net/wuhzossibility/article/details/8079025 http://blog.chinaunix.net/uid-277176 ...

  9. Android开发之SD卡上文件操作

    1. 得到存储设备的目录:/SDCARD(一般情况下) SDPATH=Environment.getExternalStorageDirectory()+"/"; 2. 判断SD卡 ...

  10. 无锁编程(四) - CAS与ABA问题

    CAS 一般采用原子级的read-modify-write原语来实现Lock-Free算法,其中LL和SC是Lock-Free理论研究领域的理想原语,但实现这些原语需要CPU指令的支持,非常遗憾的是目 ...