iOS collectionview reloaddata invalidatelayout

时间:2017-06-23 22:34:10

标签: ios xamarin layout collectionview

我的collectionView有问题。这就是我想要做的以及我现在所拥有的:

  • 1 collectionView
  • 1 datasource
  • 2布局
  • 2个原型细胞

我有2个按钮可以在布局和原型单元格之间切换

有人可以告诉我多少次 我必须使用这些方法(当我点击按钮时构造函数?方法?subviewLayout方法?)

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    let isPreloaded = UserDefaults.standard.bool(forKey: isPreloadedKey)
    if !isPreloaded {
        preloadDataFromCSVFile()
        defaults.set(true, forKey: isPreloadedKey)
    }
    ...
}

因为我第一次得到了9个项目,所以它只显示4个(显示在屏幕上),如何显示所有9个而不是仅显示在屏幕上的?

请有人帮助我,非常感谢!

1 个答案:

答案 0 :(得分:0)

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