diff --git a/Xamarin.Forms.Platform.iOS/CollectionView/ItemsViewController.cs b/Xamarin.Forms.Platform.iOS/CollectionView/ItemsViewController.cs index 076b29176b7..f8faea04b82 100644 --- a/Xamarin.Forms.Platform.iOS/CollectionView/ItemsViewController.cs +++ b/Xamarin.Forms.Platform.iOS/CollectionView/ItemsViewController.cs @@ -618,6 +618,7 @@ internal protected virtual void UpdateVisibility() { if (CollectionView.Hidden) { + CollectionView.ReloadData(); CollectionView.Hidden = false; Layout.InvalidateLayout(); CollectionView.LayoutIfNeeded(); diff --git a/Xamarin.Forms.Platform.iOS/CollectionView/ObservableItemsSource.cs b/Xamarin.Forms.Platform.iOS/CollectionView/ObservableItemsSource.cs index bcf85a9a912..a20a2be1f75 100644 --- a/Xamarin.Forms.Platform.iOS/CollectionView/ObservableItemsSource.cs +++ b/Xamarin.Forms.Platform.iOS/CollectionView/ObservableItemsSource.cs @@ -111,8 +111,9 @@ void CollectionChanged(object sender, NotifyCollectionChangedEventArgs args) void CollectionChanged(NotifyCollectionChangedEventArgs args) { - // Force UICollectionView to get the internal accounting straight - CollectionView.NumberOfItemsInSection(_section); + // Force UICollectionView to get the internal accounting straight + if(!CollectionView.Hidden) + CollectionView.NumberOfItemsInSection(_section); switch (args.Action) {