LXMExpandLayout 0.0.4

LXMExpandLayout 0.0.4

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布2015年6月

Phelthas 维护。



  • 作者:
  • Phelthas

一个可以不进行任何过渡仅用弹簧动画扩展一个项目的 UICollectionViewLayout,支持任何尺寸的单元格。

LXMExpandLayout 是模仿 @DaidoujiChen 下的DaiExpandCollectionView的一系列改进,使其更加容易使用。

它支持任何尺寸的单元格,您可以使用它像其他任何 UICollectionViewFlowLayout 一样,只需设置 itemSize 即可。

现在您可以通过拖动项目来重新排序它,请记住,您必须实现代理方法以确保顺序已改变。

它也很好地与自动布局配合使用,因为您只需设置项目大小,您可能会在不同的设备上看到不同的 UI,例如
将 itemSize 设置为 {80, 100},您将在 iPhone5 上看到一行中有三个项目,但在 iPhone6 上您将看到四个。
image image

注意

在对 LXMExpandLayout 有一些限制,您设置的项目大小,但是您必须确保每一行至少有三个项目,否则它将不会工作……

更新

版本 0.0.3,修复了一些错误,支持拖动重新排序
灵感来自RACollectionViewReorderableTripletLayout by ra1028

版本 0.0.2,支持 sectionInsect
现在您可以设置 LXMExpandLayout 的 sectionInsect,并且它会像 UICollectionViewFlowLayout 一样工作

安装

手动

1、将 LXMExpandLayout.hLXMExpandLayout.mUICollectionView+LXMExpandLayout.hUICollectionView+LXMExpandLayout.m 添加到您项目

如何使用

1、将 #import "LXMExpandLayout.h" 添加到您的 ViewController
2、初始化一个 LXMExpandLayout 并将其设置给 collectionView,如下所示:

   LXMExpandLayout *expandLayout = [[LXMExpandLayout alloc] init];
   expandLayout.itemSize = CGSizeMake(80, 100);
   self.collectionView.collectionViewLayout = expandLayout;

好了,一切都设置好了。

3、如果您想更改选中项,请调用此方法

[self.collectionView expandItemAtIndexPath:indexPath animated:YES];    

待办事项

1、支持 addItem,deleteItem 等其他操作
2、支持多个分区

帮助

如果您有任何问题或建议,请欢迎提出问题和拉取请求。

许可证

LXMExpandLayout遵循MIT许可协议。有关更多信息,请参阅LICENSE文件。