HUAutoLayout

iOS布局自动排版
授权协议 MIT
开发语言 Objective-C
所属分类 iOS代码库、 视图布局(View Layout)
软件类型 开源软件
地区 国产
投 递 者 齐兴运
操作系统 iOS
开源组织
适用人群 未知
 软件概览

HUAutoLayout

根据给定的数据量,进行自动排版.

使用方法

实例化布局对象

  HUAutoLayout *layout = [HUAutoLayout sharedLayout];

为布局对象赋值

  NSUInteger culomn;               //!< 属性描述: 列数  
  NSUInteger line;                 //!< 属性描述: 行数
  UIEdgeInsets contentInset;       //! <属性描述: 内边距
  CGFloat minimumInteritemSpacing; //!< 属性描述: 列间距
  CGFloat minimumLineSpacing;      //!< 属性描述: 行间距
  CGSize itemSize;                 //!< 属性描述: 尺寸

九宫格自动布局

  - (void) hu_layoutSquare:(UIView *)targetView layoutCount:(NSInteger)count layoutType:(HUAutoLayoutSquareType)type handleBlock:(HUAutoLayoutHandleBlock)handleBlock;
  • 垂直方向上流水布局必须设定 itemHeight, culomn 和 itemWidth 至少一个需给定数据.

  • 水平方向上流水布局必须设定 itemWidth, line 和 itemHeight 至少一个需给定数据.

  • 限定范围内固定布局line, culomn, itemWidth, itemHeight 至少一个需给定数据.

瀑布流自动布局

  • 必须先需要设置代理 waterfallDelegate.

  - (void) hu_layoutWaterfall:(UIView *)targetView layoutCount:(NSInteger)count layoutType:(HUAutoLayoutWaterfallType)type handleBlock:(HUAutoLayoutHandleBlock)handleBlock;
  • 垂直方向上流水布局culomn 和 itemWidth 至少设置一个.需实现代理方法:

  - (CGFloat)layoutForItemHeight:(CGFloat)itemWith index:(NSUInteger)index;
  • 水平方向上流水布局line 和 itemHeight 至少一个需给定数据.需实现代理方法:

  - (CGFloat)layoutForItemWidth:(CGFloat)itemHeight index:(NSUInteger)index;

demo演示

本demo请用: 模拟器6和6s运行,其它屏幕未作适配.

  //注释: demo中九宫格布局使用的是plist文件中的假数据,设置 布局数量 无用.

 

交流邮箱

huxiaoluder@163.com, 欢迎交流.

 相关资料
  •     你可能用过UIViewAutoresizingMask类型的一些常量,应用于当父视图改变尺寸的时候,相应UIView的frame也跟着更新的场景(通常用于横竖屏切换)。     在iOS6中,苹果介绍了自动排版机制,它和自动调整不同,并且更加复杂。     在Mac OS平台,CALayer有一个叫做layoutManager的属性可以通过CALayoutManager协议和CAConst

  • Layout(自动布局)组件可以挂载在任何节点上,将节点变成一个有自动布局功能的容器。所谓自动布局容器,就是能够自动将子节点按照一定规律排列,并可以根据节点内容的约束框总和调整自身尺寸的容器型节点。 布局模式(Layout Type) 自动布局组件有几种基本的布局模式,可以通过 Layout Type 属性进行设置,包括以下几种。 水平布局(Horizontal) Layout Type 设为 H

  • Layout(自动布局)组件可以挂载在任何节点上,将节点变成一个有自动布局功能的容器。所谓自动布局容器,就是能够自动将子节点按照一定规律排列,并可以根据节点内容的约束框总和调整自身尺寸的容器型节点。 布局模式(Layout Type) 自动布局组件有几种基本的布局模式,可以通过 Layout Type 属性进行设置,包括以下几种。 水平布局(Horizontal) Layout Type 设为 H

  • 当我打开视图控制器时,我有一个从顶部飞出的视图。我已将UIView的Y约束设置为-200,当视图加载时,将调用以下内容,一切正常: 但是现在我有一个关闭按钮,它应该将动画回到-200位置,然后从屏幕上删除视图控制器。但是这个动画没有发生。视图控制器被直接删除。这是我正在做的: 我提到了这个链接。这似乎对他们有效,但对我无效。请帮忙。

  • 每个表格独立,放置在一个页面上,根据数据量的不同,长短不一。但是表格能够紧凑的排布,不会有空白。

  • 我有一个自定义视图CustomLayout(蓝色,自定义UIView),该视图包含3个子视图,通过使用约束(布局锚定)垂直对齐,每个视图按照以下顺序对齐: 1视图:幻灯片(红色,自定义UIView) 我想,当我单击按钮(黄色)时,如果使用动画打开,SlideLayout(红色)的高度大小会增加,如果关闭,则会减少。和其他视图必须在动画期间更改位置,如果SlideLayout增加/减少,则父视图(C

  • 我有一个包含多行< code>UILabel的< code>UIView子类。此视图使用自动布局。 我想将此视图设置为 (而不是节标题)。此标头的高度将取决于标签的文本,而标签文本又取决于设备的宽度。自动布局的场景应该很棒。 我已经找到并尝试了许多解决方案来使其工作,但无济于事。我尝试了一些事情: < li >在< code>layoutSubviews期间在每个标签上设置< code > pre

  • 我正在构建一个带有Swing的桌面应用程序,其功能与Twitter类似。我有一个“feed”页面,其中显示“tweets”。 我在JPanel中有“tweets”,希望通过在JPanel顶部放置新的“tweets”并向下移动旧的“tweets”来动态显示新的tweets。我试图通过使用jpanel来使用MigLayout实现这一点。添加(tweet,“cell 0,wrap”)然而,这并没有按预期