层次结构 0.0.5

层次结构 0.0.5

测试测试过的
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年12月

Roman Petryshen维护。



使用

要运行示例项目,请克隆仓库,并首先从示例目录中运行 pod install

安装

层次结构通过CocoaPods提供。要安装它,只需将以下行添加到您的Podfile中

pod "Holarchy"

示例

层次结构解决了在不使用Autolayout/UITableView/UICollectionView的情况下构建长滚动布局(如表单)的问题。目前只有一个类可用 - 'HOLVerticalFlowView'。通过此类,您可以构建垂直布局,逐个添加视图。

关于其工作原理的几点说明

  • 当您向布局添加视图时,它将被缩小到FlowView的全宽(类似于UITableViewCell)。
  • 您的自定义视图应返回适当的内在内容大小(FlowView需要高度,宽度将被忽略)。
  • 视图被固定在一起 - 因此您可以轻松地执行展开/折叠动画。
  • 当与FlowView一起工作时,您可以使用愉快的链链式操作。

那么我们都得到了什么?

创建FlowView并将其添加到控制器中

self.flowScrollView = [HOLVerticalFlowView new];

[self.flowScrollView.scrollView mas_makeConstraints:^(MASConstraintMaker *make) {
  make.edges.equalTo(self.view);
}];

添加已创建的视图

self.flowScrollView.addView(self.titleLabel);

添加一个UIView子类(带有预定义的高度内部)

self.flowScrollView.addView([MYSeparatorView class]);

添加一个数字 - 将创建对应高度的透明视图(您可以用它来创建组件之间的边缘)

self.flowScrollView.addView(@20);

为之前添加的视图设置边缘

self.flowScrollView
            .addView(self.titleLabel)
            .withLeftMargin(10)
            .withRightMargin(10);

为之前添加的视图设置高度(将移除现有高度约束)

self.flowScrollView
            .addView(self.titleLabel)
            .withHeight(10);

自定义或创建对以前添加的视图的指针

self.flowScrollView
            .addView(@50)
            .customize(^(UIView *view) {
                view.backgroundColor = [UIColor redColor];
                self.redDelimiterView = view;
            });

为整个内容视图设置内边距

self.flowScrollView.contentViewInsets = UIEdgeInsetsMake(10,10,10,10);

作者

Roman Petryshen, https://twitter.com/RomanPetryshen

许可证

层次结构可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。