Masonary-简化自动布局

Masonry -- 使用纯代码进行iOS应用的autolayout自适应布局 简介简化iOS应用使用纯代码机型自适应布局的工作,使用一种简洁高效的语法替代NSLayoutConstraints. 项目主页: Masonry 最新示例: 点击下载 项目简议: 如果再看到关于纯代码,xib或storyboard,使用哪种方式进行UI布局更合适的讨论,请推荐他们先试用下 Masonry. Masonry,像xib一样快速,同时拥有作为纯代码方式的灵活性 – github关注度 7800+ 阅读详情

Masonary的价值

在iOS中,AutoLayout是一种灵活且高效的布局视图的方法,它通过约束简单明确的实现了多屏适配的功能,但是如果不用storyboard而使用,纯代码开发时,使用NSContraints就显得有些繁琐了,而Masonary就是创建自动布局的轻量级框架。

如何安装

  1. 新建一个xcode工程
  2. 在Podfile中 添加 pod ‘Masonry’ (提示:最好在vim下编辑,关闭中文输入法)
  3. 在viewController.m中 #import <Masonry.h>
  4. 复制Masonary提供的例子
UIEdgeInsets padding = UIEdgeInsetsMake(10, 10, 10, 10);
    [view1 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(superview.mas_top).with.offset(padding.top);
        make.left.equalTo(superview.mas_left).with.offset(padding.left);
        make.bottom.equalTo(superview.mas_bottom).with.offset(-padding.bottom);
        make.right.equalTo(superview.mas_right).with.offset(-padding.right);
    }];

直接执行是不行的,因为有些变量是还未定义的,
经过添加一段无聊的代码运行,还是报错 ld: library not found for -lPods-Masonary

添加链接库

注:有可能你运行也不会错,如果这样,就忽略好了,还有在原框架的安装时还提示添加prefix.pch,然后加上#define MAS_SHORTHAND,我自己测试没有效果,不知道是不是RP的问题。

直接看运行的效果:
效果图

紫色的view1,与父视图的self.view上下左右都留了10的边距 这就是那段代码的作用,还有更简单的写法,

// 更短的写法
[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
    make.edges.equalTo(superview).with.insets(padding);
}];

结束语

还有更多的更加细致的用法,我主要记录了自己在刚碰到这个框架遇到的问题,剩下的详情,请直接点击Masonary,英语不好,翻译不到位容易误人,
源代码
运行环境:Mac OS X 10.10.3 Xcode 6.3.1 iOS8.3 至少在这上面是绝对可以的。

ios-masonary的插件设置约束.zip 这个解决了,本地书写插件的约束,淘汰了sd_layout,还有cgrectY,cgrectX,希望大家喜欢 立即下载

相关推荐

Masonry自动布局

Masonry自动布局 Masonry自动布局 Masonry自动布局 Masonry自动布局

iOS自适应布局之Masonry(一)

前言 iPhone 5之前我们对应用布局停留在3.5寸一个屏幕的阶段,当时的安卓屌丝们是多么的羡慕iOS开发,不会被大量的屏幕适配所烦恼。随着iPhone产品的迭代,逐渐出现4寸、4.7寸、5.5寸….,你们说,iphone10+会有多少寸?O(∩_∩)O~ 简介 正因为上面说的那样,屏幕的尺寸逐步增多,还沿用以前的方法布局显然是...

weixin_33896069的博客 225

Qwen3.5在昇腾910B上的vLLM Ascend高性能部署实战

大语言模型推理优化是AI工程落地的核心环节,其本质是计算、内存与通信三者的协同调度。vLLM作为主流推理框架,通过PagedAttention和Continuous Batching显著提升GPU利用率;而昇腾NPU凭借高带宽HBM与专用AI算子,在国产化算力平台中展现出独特优势。当vLLM深度适配昇腾(即vLLM Ascend),不仅保留动态批处理、流式输出等关键能力,更实现KV Cache的HBM感知管理与HCCL直通优化,使中小尺寸模型(如Qwen3.5-35B)在单台Atlas A3服务器上达成百并

weixin_30558697的博客 431

iOS Autolayout之Masonry解读

原文地址:http://www.jianshu.com/p/10a250cc5018 Masonry Masonry是公认非常简洁优美的一款Autolayout框架我推荐大家重点学习这个框架我会把Autolayout的思维融合这个框架一起讲解 Masonry的使用 想要使用第三方Masonry要么要去GitHub上下载原代码下来拖进项目中,要么就直接使用cocoapods,po

齐恒毅-博客专栏 663

项目回顾一:《高速多端口共享缓存模块》

本帖子仅为了回顾一下一年前自己动手完成的第一个数字ic设计项目的历程,为复试做一下准备,完成的这个sramc模块花了整整四个月的时间,从0到12个模块的代码产出以及模块的验证,虽然没有拿奖,也没有进入复赛,设计过程中使用的技术手段和算法也不太成熟,但这这是一个值得记录的过程!

weixin_60261760的博客 1254

从工创赛实战到开源:一个高鲁棒性智能物流视觉系统的构建与优化

本文分享了从工创赛实战中构建高鲁棒性智能物流视觉系统的完整经验。针对赛场复杂光线环境,详细阐述了摄像头选型、基于CLAHE和形态学梯度的抗干扰色环识别算法、卡尔曼滤波状态估计以及多线程串口通讯与任务调度等核心优化策略,旨在打造一个稳定可靠的视觉系统,并已将相关代码开源。

weixin_29046035的博客 319

iOS_autoLayout_Masonry

概述   Masonry是一个轻量级的布局框架与更好的包装AutoLayout语法。   Masonry有它自己的布局方式,描述NSLayoutConstraints使布局代码更简洁易读。   Masonry支持iOS和Mac OS X。   Masonrygithub 地址:https://github.com/SnapKit/Masonry ...

weixin_30878361的博客 161

Python Opencv cv2提取图像中某种特定颜色区域(例如黑字白纸背景下的红色公章提取),并将纯色背景透明化

拜拜PHOTOSHOP- 领导突然让我帮他把公章从图片中抠出来,在确保了不是要做坏事的情况下,我打开了PHOTOSHOP,用魔棒工具一点一点抠,但由于魔棒工具的原理是对比临近区域像素差值,导致封闭字体中的区域无法剔除,而且一点一点抠非常麻烦,愤而PYTHON,使用CV2完美解决。 效果如下(马赛克是我添加的): 任务就是把蓝色的公章抠出来。 效果如上。 代码如下: import cv2 import numpy as np src = cv2.imread(r"imagepath")#这里填你的原图像路

qq_43670549的博客 1万+

xcode7配置Masonry

1. 在Podfile加入   platform :ios, '7.0' pod 'Masonry'     2. 运行pod install 进行安装   3. 在pch加入 // 只要添加了这个宏,就不用带mas_前缀 #define MAS_SHORTHAND // 只要添加了这个宏,equalTo就等价于mas_equalTo #define MAS_SHORTH...

iteye_17276的博客 460

智能小车避障功能的实现(cpp,ubuntu)

智能小车避障功能的实现(cpp,ubuntu)

weixin_62135607的博客 4376

多源异构数据融合(Kaggle+Google Trends联合分析)

本文详细介绍了如何利用Python实现多源异构数据融合,以Kaggle电商销售数据与Google Trends搜索指数为例,展示了数据清洗、预处理、时间对齐、数据合并、相关性分析、回归建模和可视化全过程。数据预处理与内存优化通过分块加载、数据类型转换和缺失值处理,有效降低了大规模数据在内存中的占用,并确保数据质量。时间对齐与数据融合策略采用重采样与内连接方法对齐不同数据源的时间维度,实现了高质量数据的融合,为后续联合分析奠定基础。模型构建与分析。

闲人编程的博客 1016

AutoLayout +Masonary

1, Masonry介绍与使用实践(快速上手Autolayout) http://adad184.com/2014/09/28/use-masonry-to-quick-solve-autolayout/ Xcode6中自动布局autolayout和sizeclass的使用 http://www.cocoachina.com/ios/20140915/9623.html 2,...

dazhi121812的博客 125

OAuth2.0集成SpringSecurity加JWT实现单点登录

单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信任的系统。也就是说只要登录一次单体系统就可以

Nicky's blog 9038

Masonary

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34235135的博客 232

【MATLAB代码】UKF组合导航例程,15维状态量、3维观测量。附完整的代码,有中文注释、误差输出图像

摘要 本文提出了一种基于15维误差状态模型的UKF组合导航算法,实现了三维位置、速度和姿态的高精度估计。算法采用严格的误差状态模型,包含位置(3)、速度(3)、姿态(3)、陀螺偏差(3)和加速度计偏差(3)共15个状态量,通过3维GNSS位置观测进行校正。仿真结果表明,相比纯IMU积分,UKF算法能有效抑制误差积累,显著提高导航精度。文中提供了完整的MATLAB源代码,可直接运行并复现三维轨迹对比、位置/速度曲线及误差分析结果。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 311

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Masonary的简单使用

Masonary是一个给控件添加约束条件的第三方库,它是轻量级的布局框架。它和autolayout作用差不多。 支持一下属性 @property (nonatomic, strong, readonly) MASConstraint *left; @property (nonatomic, strong, readonly) MASConstraint *top; @property ...

weixin_30443075的博客 256

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Masonry自动布局详解八:复杂ScrollView布局

Masonry自动布局详解八:复杂ScrollView布局 说到iOS自动布局,有很多的解决办法。有的人使用xib/storyboard自动布局,也有人使用frame来适配。对于前者,笔者并不喜欢,也不支持。对于后者,更是麻烦,到处计算高度、宽度等,千万大量代码的冗余,对维护和开发的效率都很低。 笔者在这里介绍纯代码自动布...

weixin_33717117的博客 258

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Masonry对TableViewCell进行自动布局

说明:因为项目需要想先做一个cell展开折叠的Demo,看了网上很多cell展开折叠的方式都是用另外一个cell来替换,感觉完全没必要,忽然想到了Masonry(这确实是个好东西啊),所以花了点时间利用Masonry来改造了一下。 简介:点击一行后cell会展开,再次点击cell会折叠,采用Masonry自动布局,效果如下: Demo地...

weixin_33857230的博客 247

masonry 约束布局

之前我们在屏幕适配的章节中学习过 AutoLayout 的使用,但那都是在可视化界面上进行添加约束完成的,我们很多时候都需要在代码中使用 AutoLayout 约束,苹果也为我们提供了实现,使用 NSLayoutConstraint 类表示约束,但使用起来比较复杂,代码量比较大 ,Masonry 是一个轻量级的布局框架,它拥有自己的描述语法(采用更优雅的链式语法封装)来自动布局,具有很好可读性

令狐少侠的专栏 524

超棒的响应式jQuery网格布局插件 - grid-a licious

日期:2012-11-15  来源:GBin1.com   在线演示  大家应该还记得我们在过去的文章中介绍过的几款知名的响应式布局插:isotope,Freetile.js和masonary吧?使用这些插件可以方便的帮助你构建自适应的网格布局。 今天我们介绍另外一个超棒的网格布局插件-Grid-A-Licious,和前面介绍过的isotope和masonary不太一样,这个插件使用更加完...

tyygming的专栏 221

iOS 使用代码创建约束,实现自动布局

///与下面约束对象属性截图相对应//使用Auto Layout约束,禁止将Autoresizing Mask转换为约束 [self.funcView setTranslatesAutoresizingMaskIntoConstraints:NO]; /** *@1.constraintWithItem:你想要约束的视图 *@2.attribute:约束的属性(枚举值,可使用com键查...

weixin_30537451的博客 105

简单的响应式布局和动画效果

简单的响应式布局和动画效果,源码连接: 有三种变化 第一种三张图片一行: 第二种二张图片一行: 第三种一张图片一行:

唐灵波 1058

Masonry — 代码约束

Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁明了 并具有高可读性 而且同时支持 iOS 和 Max OS X。Masonry是一个非常优秀的autolayout库 能够节省大量的开发和学习时间Masonry支持的一些属性// 左侧 @property (nonatomic, strong, readonly) MASConstraint *left

拾光Blog 601
上一篇: OC的数据传递-Block,代理,通知,KVO
下一篇: ObjC Runtime 中 Weak 属性的实现 (上)
忘川三
博客等级 码龄12年 208粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值