title: "GetSizeForItem" for a UICollectionView in Xamarin with UICollectionViewFlowLayout does not get called
body: <p>I have a <code>UIViewController</code> that has a <code>UICollectionView</code> added as a subview in the viewDidLoad. I am using a <code>UICollectionViewFlowLayout</code> and have created a custom <code>MvxCollectionViewSource</code> to manage the cells. </p>
  
  <p>I provide the cell information in the constructor of the layout object which does not make it flexible for device and orientation changes.</p>
  
  <pre><code>UICollectionViewLayout layout = new UICollectionViewFlowLayout () {ItemSize = new SizeF (354, 150),
              ScrollDirection = UICollectionViewScrollDirection.Vertical
          };
  </code></pre>
  
  <p>Allocating my UICollectionView in the ViewDidLoad method.</p>
  
  <pre><code>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);
  </code></pre>
  
  <p>Now the ProjectCollectionSource is my custom source and have created a <code>UICollectionViewDelegateFlowLayout</code> as mentioned <a href="https://stackoverflow.com/a/13800733/257284">here</a>. </p>
  
  <p>The <code>UICollectionViewDelegateFlowLayout</code> is as below but it never gets called. </p>
  
  <pre><code>class CustomViewDelegate: UICollectionViewDelegateFlowLayout
      {
  
          public override CoreGraphics.CGSize GetSizeForItem (UICollectionView collectionView, UICollectionViewLayout layout, NSIndexPath indexPath)
          {
              return new CoreGraphics.CGSize (100, 100);
          }
      }
  </code></pre>