Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS collectionview重新加载数据失效_Ios_Xamarin_Layout_Collectionview - Fatal编程技术网

iOS collectionview重新加载数据失效

iOS collectionview重新加载数据失效,ios,xamarin,layout,collectionview,Ios,Xamarin,Layout,Collectionview,我的collectionView有问题。这就是我现在想要做的事情: 1集合视图 1数据源 2布局 2原型细胞 我有两个按钮在布局和原型单元格之间切换 有人能告诉我在什么时候我必须使用这些方法(构造函数?当我点击按钮时的方法?子视图布局方法?)多少次 因为我第一次得到了9个项目,它只显示4个(显示在屏幕上),如何也可以显示全部9个项目,而不是只显示在屏幕上 请有人帮帮我,非常感谢 小心不要将布局对象的invalidateLayout方法与集合视图的reloadData方法混淆。调用invali

我的collectionView有问题。这就是我现在想要做的事情:

  • 1集合视图
  • 1数据源
  • 2布局
  • 2原型细胞
我有两个按钮在布局和原型单元格之间切换

有人能告诉我在什么时候我必须使用这些方法(构造函数?当我点击按钮时的方法?子视图布局方法?)多少次

因为我第一次得到了9个项目,它只显示4个(显示在屏幕上),如何也可以显示全部9个项目,而不是只显示在屏幕上


请有人帮帮我,非常感谢

小心不要将布局对象的invalidateLayout方法与集合视图的reloadData方法混淆。调用invalidateLayout方法不一定会导致集合视图抛出其现有单元格和子视图。相反,它强制布局对象在移动、添加或删除项时重新计算其所有布局属性。如果数据源中的数据已更改,则重新加载数据方法是合适的。无论您如何启动布局更新,实际的布局过程都是相同的。

第二行覆盖第一行:用列表替换网格。那是打字错误吗?这不是我的最终代码。这只是一条线,我只是想知道我必须在哪里使用它们,因为当我第一次切换布局时,它可以工作,但第二次不,我得到的印象是,单元格被其他单元格替换了
collectionViewTransactions.CollectionViewLayout = new CollectionViewLayoutGrid();

collectionViewTransactions.CollectionViewLayout = new CollectionViewLayoutList();

collectionViewTransactions.Source = new TransactionCollectionViewSource();

collectionViewTransactions.ReloadData();

collectionViewTransactions.CollectionViewLayout.InvalidateLayout();