gpt4 book ai didi

ios - 具有缩放效果和三个项目可见的 Collection View 流布局

转载 作者:行者123 更新时间:2023-11-28 23:58:20 26 4
gpt4 key购买 nike

这个问题可能会被标记为没有被很好地提出,但最好是你的。

我正在尝试找到一种解决方案,了解如何在 Xamarin.iOS 中创建一个 Collection View ,其中三个项目可见,一个居中,两侧各两个,左右部分可见。像这样的 https://github.com/lukagabric/LGLinearFlow .我发现了许多 swift 和 Objective C 实现,但没有找到 Xamarin.iOS 的实现。

我发现的最接近的是在子类化 UICollectionViewFlowLayout https://learn.microsoft.com/en-us/xamarin/ios/user-interface/controls/uicollectionview 部分下的文档中使用自定义 UICollectionViewFlowLayout但没有定义如何使用它。

您知道一些实现或如何在 Xamarin.iOS Native 中实现它吗?

最佳答案

在您发布时,此文档 https://learn.microsoft.com/en-us/xamarin/ios/user-interface/controls/uicollectionview已经告诉我们如何实现flowLayout。我们只需要用这个流布局初始化一个 UICollectionView

构造一个新的 Collection View :

LineLayout lineLayout = new LineLayout();

UICollectionView collectionView = new UICollectionView(View.Bounds, lineLayout);
View.AddSubview(collectionView);
collectionView.DataSource = new MyCollectionViewSource();
collectionView.BackgroundColor = UIColor.White;

collectionView.RegisterNibForCell(UINib.FromName("MyCollectionViewCell", null), "Cell");

那么它的dataSource可以是这样的:

public class MyCollectionViewSource : UICollectionViewDataSource
{
public override UICollectionViewCell GetCell(UICollectionView collectionView, NSIndexPath indexPath)
{
MyCollectionViewCell cell = collectionView.DequeueReusableCell("Cell", indexPath) as MyCollectionViewCell;

cell.MyStr = "label" + indexPath.Row;

return cell;
}

public override nint GetItemsCount(UICollectionView collectionView, nint section)
{
return 20;
}
}

请注意,LineLayout 中的常量可以根据您的要求进行调整。而 SectionInset 表示每个部分之间的距离,我们应该调整它以确保 CollectionView 只有一行。

我做了一个 sample here给你引用。

关于ios - 具有缩放效果和三个项目可见的 Collection View 流布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50476331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com