Masonry 固定宽度 等间距
-(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 固定宽度 等间距的更多相关文章
- Masonry的一些等间距布局
控件之间的间距相等,但是控件的宽度是不定的. 下列的代码:定义间距为10,yellowview的宽度是由redView的宽度计算出来的. UIView *redView = [[UIView allo ...
- masonry框架的使用之-多个视图的均匀等间距分布
__weak typeof(self) weakSelf = self; //对self进行weak化,否则造成循环引用无法释放controller UIView * tempView = [[UIV ...
- Masonry和FDTemplateLayoutCell 结合使用示例Demo
我们知道,界面布局可以用Storyboard或Xib结合Autolayout实现,如果用纯代码布局,比较热门的有Masonry.SDAutoLayout,下面的简单demo,采用纯代码布局,实现不定高 ...
- 【原】iOS学习之Masonry第三方约束
1.Masonry概述 目前最流行的Autolayout第三方框架 用优雅的代码方式编写Autolayout 省去了苹果官方恶心的Autolayout代码 大大提高了开发效率 框架地址:https:/ ...
- iOS AutoLayout自动布局&Masonry介绍与使用实践
Masonry介绍与使用实践:快速上手Autolayout http://www.cnblogs.com/xiaofeixiang/p/5127825.html http://www.cocoachi ...
- 流式布局&固定宽度&响应式&rem
我们现在在切页面布局的使用常用的单位是px,这是一个绝对单位,web app的屏幕适配有很多中做法,例如:流式布局.限死宽度,还有就是通过响应式来做,但是这些方案都不是最佳的解决方法. 1.流式布局: ...
- iOS开发 Masonry的简单使用
首先,在正式使用Masonry之前,我们先来看看在xib中我们是如何使用AutoLayout 从图中我们可以看出,只要设置相应得局限,控制好父视图与子视图之间的关系就应该很ok的拖出你需要的需 ...
- PureLayout和Masonry比较
一年前那时我做iOS开发,为了自动布局适配多种屏幕,我一般使用Masonry,后来偶然地在一个视频教程中发现老师使用了UIView+Autolayout(现在作者改名为PureLayout)自动布局, ...
- iOS-布局-Masonry
一.说明:demo中的举例视图介绍 UIView *_blackView; 作为父视图 UIView *_redView; 与父视图内边距为10 ...
随机推荐
- C#与USB HID间的通信
原文:C#与USB HID间的通信 C#与USBHID接口的通讯相对于与串口间的通讯较为复杂,其中需要多次调用到Windows的一些API.其原理编者尚未全部理清,以下提供简单的USBHID通讯流程. ...
- iOS LLDB调试器和断点调试
技巧一:运行时修改变量的值 你以前怎么验证是不是某个变量的值导致整段程序不能正常工作?修改代码中的变量的值,然后cmd+r重新启动app?现在你不需要这么做了,只需要设置一个断点,当程序在这进入调试模 ...
- C 中数组和指针的区别
联系: 1,一个通过数组和下标实现的表达式可等价地通过指针和偏移量实现. 2,当数组名传递给一个函数时,实际上传递的是该数组第一个元素的地址. 区别: 1,指针是一个变量,因此,在C语言中,语句pa= ...
- CentOS下判断自己的VPS是OpenVZ的还是Xen的
一般来说,VPS的虚拟化技术,有Xen.OpenVZ.Xen HVM和VMware这几种,那么,如何判断自己的VPS是基于哪种虚拟化技术的呢? 1.执行:ls /proc/命令,一般Xen的VPS,/ ...
- swift:入门知识之泛型
在尖括号里写一个名字来创建一个泛型函数或者类型 例如<T>.<Type> 可以创建泛型类.枚举和结构体 在类型后使用where来指定一个需求列表.例如,要限定实现一个协议的类型 ...
- jsp中的out对象 和 servlet中的response.getOutputStream()
web容器生成的servlet代码中有out.write(””),这个和JSP中调用的response.getOutputStream()产生冲突. 即Servlet规范说明,不能既调用 respon ...
- HDU 4622 Reincarnation 后缀自动机
模板来源:http://blog.csdn.net/zkfzkfzkfzkfzkfzkfzk/article/details/9669747 解法参考:http://blog.csdn.net/dyx ...
- HDU 4617 Weapon 三维计算几何
题意:给你一些无限长的圆柱,知道圆柱轴心直线(根据他给的三个点确定的平面求法向量即可)与半径,判断是否有圆柱相交.如果没有,输出柱面最小距离. 一共只有30个圆柱,直接暴力一下就行. 判相交/相切:空 ...
- Vi Usage
标签: linux 编辑工具 md 快捷键以及常用命令(前面带:的是命令) h -> 左移一个字符 j -> 下移一行 k -> 上移一行 l -> 右移一个字符 w或Shif ...
- Java @override报错的解决方法
在eclipse中导入工程后@Overide报错 到入工程后,所有的@Override都报如下错误: Multiple markers at this line - The method getCou ...