-(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. SQL Server 使用日志传送

    参考文献: http://msdn.microsoft.com/en-us/library/ms187103.aspx 概述 SQL Server 使用日志传送,您可以自动将“主服务器”实例上“主数据 ...

  2. 3、Spring整合Hibernate

    经过前面的两节分析:1.Hibernate之生成SessionFactory源码追踪 和 2.Spring的LocalSessionFactoryBean创建过程源码分析 .我们可以得到这样一个结论, ...

  3. 【用户分析-用户场景】这TM才是产品思维!

    @奶牛Denny :很长一段时间里,市场推广/营销(Marketing)在中国似乎是一个大家很忌讳的词汇.市场推广无非就是夸大包装,炒作一下,卖卖情怀——很多人都是这么觉得的,因为确实有一部分急功近利 ...

  4. Data Base MongoDB 插入时间不正确的问题

    关于mongodb插入时间不正确的问题 mongodb插入时间: 把本地时间转换为utc时间:  也就是比本地时间少8个小时: 读取的时候又会转换本地时间: 所有一般不需处理:

  5. Linux内核系列—C语言中内嵌汇编 asm __volatile__,asm__volatile_【转】

    转自:http://www.bkjia.com/Androidjc/1109412.html 在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器, ...

  6. 利用SOLR搭建企业搜索平台 之——配置文件

    运行solr是个很简单的事,如何让solr高效运行你的项目,这个就不容易了.要考虑的因素太多.这里很重要一个就是对solr的配置要了解.懂得配置文件每个配置项的含义,这样操作起来就会如鱼得水! 在so ...

  7. OSX 升级 vim

    善用 Homebrew 神器啊,少年!Homebrew - The missing package manager for OS X安装完成后打开终端输入: brew install vim --wi ...

  8. poj-1017 Packets (贪心)

    http://poj.org/problem?id=1017 工厂生产高度都为h,长和宽分别是1×1 2×2 3×3 4×4 5×5 6×6的6种规格的方形物品,交给顾客的时候需要包装,包装盒长宽高都 ...

  9. 自定义View(7)官方教程:自定义View(含onMeasure),自定义一个Layout(混合组件),重写一个现有组件

    Custom Components In this document The Basic Approach Fully Customized Components Compound Controls ...

  10. python 统计文本文件的行数

    num_lines = sum(1 for line in open(input_file_name))