我有一个UIViewController
在UICollectionView
viewDidLoad 中添加为子视图。我正在使用UICollectionViewFlowLayout
并创建了一个自定义MvxCollectionViewSource
来管理单元格。
我在布局对象的构造函数中提供了单元格信息,这不能使其灵活地适应设备和方向的变化。
UICollectionViewLayout layout = new UICollectionViewFlowLayout () {ItemSize = new SizeF (354, 150),
ScrollDirection = UICollectionViewScrollDirection.Vertical
};
在 ViewDidLoad 方法中分配我的 UICollectionView。
CollectionView = new UICollectionView (this.View.Bounds, layout);
CollectionView.Delegate = new CustomViewDelegate();
CollectionView.RegisterClassForCell (typeof(ProjectCollectionCell), ProjectCollectionCell.Key);
CollectionView.Source = new ProjectCollectionSource (CollectionView, this,ProjectCollectionCell.Key);
CollectionView.BackgroundColor = UIColor.Clear;
// CollectionView.RegisterClassForSupplementaryView (typeof(Header), UICollectionElementKindSection.Header, headerId);
CollectionView.AllowsMultipleSelection = true;
this.View.AddSubview (CollectionView);
现在 ProjectCollectionSource 是我的自定义源,并创建了一个UICollectionViewDelegateFlowLayout
如此处提到的。
UICollectionViewDelegateFlowLayout
如下所示,但它永远不会被调用。
class CustomViewDelegate: UICollectionViewDelegateFlowLayout
{
public override CoreGraphics.CGSize GetSizeForItem (UICollectionView collectionView, UICollectionViewLayout layout, NSIndexPath indexPath)
{
return new CoreGraphics.CGSize (100, 100);
}
}