一次显示UICollectionView的一个单元格



我有一个collectionview,我想一次只显示一个单元格,根据我在SO上的发现,应该像将项目大小设置为collectionview本身的大小一样简单,但当我这样做时,我仍然看到下一个单元格的一小部分。

以下是我如何设置收藏视图:

cvCarousel.RegisterNibForCell(CarouselItemCollectionViewCell.Nib, CarouselItemCollectionViewCell.Key);
cvCarousel.CollectionViewLayout = new UICollectionViewFlowLayout
{
ItemSize = new CGSize(cvCarousel.Frame.Width, cvCarousel.Frame.Height),
MinimumInteritemSpacing = 0,
MinimumLineSpacing = 0,
ScrollDirection = UICollectionViewScrollDirection.Horizontal
};

我确信我在这里遗漏了一些简单的东西,但不确定它是什么。

我猜您正在viewDidLoad方法中调用以下代码。

过一段时间,直到布局完成,所有东西都会有任何帧大小和位置,但在viewDidLoad方法中还为时过早,我们只能在viewDidLayoutSubviews方法中获得正确的帧。

但是,在这里您可以直接用UIScreen.MainScreen.Bounds替换cvCarousel.Frame,因为您只需要一个全屏项目。

参考

https://developer.apple.com/forums/thread/52578

相关内容

最新更新