带有MVVMCross的UICollectionView节

最近,有人要求我在Xamarin.iOS上的各部分中实现CollectionView。 在该项目中,我们使用了MVVMCross。 我知道可以在iOS本机上执行此操作,因此我想到了在Xamarin中执行此操作的解决方案。 不幸的是,我没有找到示例代码,所以我不得不自己弄清楚😢

在本文中,我将向您展示如何在Xamarin上实现Sectioned UICollectionView。 尽管在示例代码中,我正在使用MVVMCross处理绑定等。这并不意味着它仅适用于此框架。 跨框架一😉

出于本教程的目的,我将创建一个书籍列表。 将有几个类别,每个类别可以包含不同数量的书籍。 我们走吧!

如果您只想了解代码,请在本文结尾处找到指向Github上的示例存储库的链接。

免责声明

在我们开始之前还有另外一件事:我认为这种解决方案不是完美的解决方案。 它是基于SWIFT代码,StackOverflow答案和其他小提示构造的。 我将所有内容放在一起并制作了样本。

为了使UI更好,我添加了FFImageLoading库,以便可以显示书籍缩略图。

逐步解决方案

介绍后,让我们继续进行一些编码。 首先 ,创建您的UICollectionView并将其添加到您的视图/页面。 基本上,此步骤实际上并不重要-您只需要添加UICollectionView。

下一步(第二步),我建议您创建ItemCells和HeaderCell 。 为了创建ItemCells,您需要创建一个派生自MvxCollectionViewCell的类 您可以通过创建XIB文件或.cs文件来实现。 填充视图,创建绑定,然后完成。 矿井看起来像这样

如您所见,我们有一个不错的CollectionView,分为几部分。 这就是我们应该达到的目标,这就是已经实现的目标! 完善! 😇

CollectionViews与FlowLayout相结合是iOS上的强大控件。 添加页眉和页脚会赋予它们额外的功能。 使用iPad或更大的iPhone屏幕时,我总是喜欢看到它们。 它们看起来比TableViews更好,它们表现良好,而且非常易于使用。

我真的希望有人会对这篇文章有所帮助。 正如我在简介中所述,在网上找不到类似的文章,所以我决定自己写一篇。

如果您发现任何错误或不清楚的地方,请随时写评论问我。 如果您觉得这篇文章有用,请给我一些爱,然后单击下面的拍手按钮。 它使我充满动力!