带有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更好,它们表现良好,而且非常易于使用。
我真的希望有人会对这篇文章有所帮助。 正如我在简介中所述,在网上找不到类似的文章,所以我决定自己写一篇。
如果您发现任何错误或不清楚的地方,请随时写评论问我。 如果您觉得这篇文章有用,请给我一些爱,然后单击下面的拍手按钮。 它使我充满动力!
- 浏览器滚动事件在iOS和Android设备上不会经常触发
- iOS 7中的进度视图高度
- 在iTunes Connect中添加Sandboxtesting程序时出现Java.lang.NullPointerException错误
- iOS 9 cancelLocal通知问题
- CKAsset不会显示在tableview图像中
- Xcode:应用程序图标怎么了?
- 为UINavigationController制作一个自定义后退button
- CloudKit:CKFetchRecordChangesOperation,CKServerChangeToken和Delta Download
- 为什么AES128解密在iPhone上花了这么长时间?