ClassyLiveLayout 0.6.0

ClassyLiveLayout 0.6.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新版本2014年12月

Ole Gammelgaard Poulsen 维护。



 
依赖
Masonry>= 0
Classy>= 0
 

  • Ole Gammelgaard Poulsen

通过在样式表文件中放置 AutoLayout 常量来实现视图布局的快速迭代。当您更改常量时,无需重新编译和重启模拟器。

补充博客文章:http://codeblog.shape.dk/blog/2013/12/16/live-editing-layout-constants-using-classy/

此存储库(及通过 Cocoapods 可用的 pod)包含类别 UIView+ClassyLayoutProperties,使您能够在视图上轻松定义大小和边距属性,这些属性可以从 Classy 样式表中设置并触发 -updateConstraints,然后可以使用 Masonrymas_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 类的示例,这些类可以轻松地在集合视图中实现此行为。