测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最新版本 | 2014年12月 |
由 Ole Gammelgaard Poulsen 维护。
依赖 | |
Masonry | >= 0 |
Classy | >= 0 |
通过在样式表文件中放置 AutoLayout 常量来实现视图布局的快速迭代。当您更改常量时,无需重新编译和重启模拟器。
补充博客文章:http://codeblog.shape.dk/blog/2013/12/16/live-editing-layout-constants-using-classy/
此存储库(及通过 Cocoapods 可用的 pod)包含类别 UIView+ClassyLayoutProperties
,使您能够在视图上轻松定义大小和边距属性,这些属性可以从 Classy 样式表中设置并触发 -updateConstraints
,然后可以使用 Masonry 的 mas_updateConstraints:
实现它。此 pod 还包含一些方便的方法,使定义包含从样式表中取出的常量的布局变得简单且声明式。
在您的视图的 -updateConstraints 方法中,您定义布局如下所示
// new shorthand notation to create constrains relative to the superview with constants from stylesheet
[_blueBoxView mas_updateConstraintsWidthFromStylesheet];
[_blueBoxView mas_updateConstraintsHeightFromStylesheet];
[_blueBoxView mas_updateConstraintsWithTopMarginRelativeToSuperview];
// or we can specify another view to set margins relative to:
[_blueBoxView mas_updateConstraintsWithLeftMarginRelativeTo:self];
在样式表中,我们设置上述布局代码中隐式引用的常量。
UIView.blue-box {
background-color: blue;
size: 120 80;
margin-top: 110;
margin-left: 50;
}
如果您已在 Classy 中设置动态重新加载,则当您在样式表中更改大小和边距时,视图将立即更新。开始的最佳方法是查看此存储库中包含的演示项目。
此外,还有一个如何使用此方法与 UITableViewCell 以及一个抽象的 UICollectionView 类的示例,这些类可以轻松地在集合视图中实现此行为。