private static void AddYmlItems(this Db db, List <DbItem> items, List <DbTemplate> templates, bool merge = false) { if (items != null && items.Count > 0) { db.AddRange(LayoutItems.Get(items), merge); db.AddRange(SystemItems.Get(items), merge); db.AddRange(MediaItems.Get(items), merge); db.AddRange(ContentItems.Get(items, templates), merge); } }
private void prepareLayoutForItems(List <CollectionDataSourceItem> dataSourceItems) { DataSourceItems = dataSourceItems; LayoutItems.RemoveAll((obj) => { return(true); }); mOffset.X = ContentEdgeInsets.Left; mOffset.Y = ContentEdgeInsets.Top; NSIndexPath indexPath; for (var i = 0; i < dataSourceItems.Count; i++) { var item = dataSourceItems[i]; indexPath = NSIndexPath.FromItemSection(item: i, section: 0); LayoutItems.Add(new Tuple <UICollectionViewLayoutAttributes, NSIndexPath>(LayoutAttributesForItem(indexPath), indexPath)); mOffset.X += InterimSpace; mOffset.X += item.Width == null ? ItemSize.Width : item.Width.Value; mOffset.Y += InterimSpace; mOffset.Y += item.Height == null ? ItemSize.Height : item.Height.Value; } mOffset.Y += ContentEdgeInsets.Right - InterimSpace; mOffset.Y += ContentEdgeInsets.Bottom - InterimSpace; if (0 < ItemSize.Width && 0 < ItemSize.Height) { ContentSize = new CGSize(Offset.X, Offset.Y); } else if (ScrollDirection == UICollectionViewScrollDirection.Vertical) { ContentSize = new CGSize(CollectionView.Bounds.Width, Offset.Y); } else { ContentSize = new CGSize(Offset.X, CollectionView.Bounds.Height); } }