当前位置:  开发笔记 > 编程语言 > 正文

UIRefreshControl显示在UICollectionViews Cells之上

如何解决《UIRefreshControl显示在UICollectionViewsCells之上》经验,为你挑选了1个好方法。

我使用以下代码创建UIRefreshControl:

_refreshControl = new UIRefreshControl();
_refreshControl.ValueChanged += RefreshTriggered;
_collectionView.InsertSubview(_refreshControl, 0);

而且我不知道为什么UIRefreshControl会被UICollectionViewCells 吸引.

以下是UICollectionView我刚添加刷新控件时的子视图:

[0]: {

以下是在UICollectionView中加载项目时的子视图:

[0]: {>}
[1]: {>}
[2]: {>}
[3]: {>}
[4]: {

有人有想法吗?



1> deadbeef..:

尝试refreshControll在布局过程后发送到后面,如下所示:

- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];

    [self.collectionView sendSubviewToBack:self.refreshControl];
}

由于UITableViewUICollectionView重用他们的细胞,他们奠定了其子视图(可能通过自定义实现的一个非常特殊的方式layoutSubviews).因此,在布局过程之后,通常不会保留插入自定义子视图的位置.这就是为什么你必须覆盖viewDidLayoutSubviews并将视图放回到你想要的位置.

UIRefreshControll被自动检测UITableView并放回到其他子视图后面,但情况并非如此UICollectionView,您必须手动执行.而对于任何其他自定义子视图,你必须做两个UITableViewUICollectionView.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有