ios – 如何仅重新加载UICollectionView的数据部分?

ios – 如何仅重新加载UICollectionView的数据部分?,第1张

概述我正在尝试重新加载UICollectionView的数据部分,而不是页眉或页脚(补充视图). 当我使用reloadData方法时,页眉和页脚部分也会重新加载,这就是我想要的. 我找到了方法reloadSections:,但我不知道为什么它不起作用. 因为我的集合视图只包含一个部分,所以我尝试使用这样的方法: [collectionViewController.collectionView relo 我正在尝试重新加载UICollectionVIEw的数据部分,而不是页眉或页脚(补充视图).

当我使用reloadData方法时,页眉和页脚部分也会重新加载,这就是我想要的.

我找到了方法reloadSections:,但我不知道为什么它不起作用.

因为我的集合视图只包含一个部分,所以我尝试使用这样的方法:

[collectionVIEwController.collectionVIEw reloadSections:[NSIndexSet indexSetWithIndex:0]];

但是在调用方法时会产生运行时错误.错误的内容是:

'NSinvalidargumentexception',reason: '-[UICollectionVIEwUpdateItem action]:unrecognized selector sent to instance 0x90aec00'

方法reloadSections:是不允许这样使用的?有没有其他方法只重新加载数据部分,而不是页眉或页脚部分?

解决方法 我认为错误只发生在搜索栏是集合视图的子视图,并尝试调用reloadSections时:键盘输入已启动时.

This article给出了类似问题的答案,但这对我不起作用.

所以我使用了另一种方法来调用几乎相同的功能.

我没有将标题作为补充视图添加,而是将标题作为“视图”的子视图. (不是collectionVIEw)

并添加了一些滚动委托来模仿表视图的标题.

- (voID)scrollVIEwDIDScroll:(UIScrollVIEw *)scrollVIEw{    CGfloat y = scrollVIEw.contentOffset.y;    if (y < 44) {        [self.searchbar setFrame:CGRectMake(0,-y,320,44)];        [self.searchbar setHIDden:NO];    } else if (y >= 44) {        [self.searchbar setHIDden:YES];    }  }
总结

以上是内存溢出为你收集整理的ios – 如何仅重新加载UICollectionView的数据部分?全部内容,希望文章能够帮你解决ios – 如何仅重新加载UICollectionView的数据部分?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1064514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存