gpt4 book ai didi

ios - 使用 UICollectionViewController 时如何为 UICollectionView 添加居中的 UIActivityIndi​​cator?

转载 作者:可可西里 更新时间:2023-11-01 06:09:03 25 4
gpt4 key购买 nike

我从未使用过 UITableViewControllers 或 UICollectionViewControllers,因为您可以通过使用 UIViewController 及其根 UIView 来获得相同的功能,然后在 xib 或 Storyboard中添加 UITableView 并分配其委托(delegate)和数据源。而且我还能够将事件指示器放在根 UIView 的中心。

现在,当使用 UICollectionViewController 时,它的 Root View 是 UICollectionView,事情会变得有点复杂。我需要更新其他人的一些代码,他们将事件指示器放在 UICollectionView 中(在 Storyboard 中)。问题是当单元格被重复使用时,这个事件指示器会被隐藏,因为事件指示器 View 是最底部的。我无法更改可见性优先级 Storyboard ,而且此代码在 View didLoad 中不起作用:

[self.itemsCollectionView bringSubviewToFront:self.activityIndicator];

因为collection view cell的labels, images等views放在后面,在collectionView:cellForItemAtIndexPath:的时候。我可以尝试在 collectionView:cellForItemAtIndexPath: 中调用 bringSubviewToFront: 但那将是一个错误的决定。使用 UITableViewControllers 或 UICollectionViewControllers 时如何实现这一点的任何想法?

恕我直言,使用 UITableViewControllers 或 UICollectionViewControllers 的唯一原因是因为静态单元格在设计布局时未显示 Storyboard。

更新 iOS 似乎将 UICollectionView 包装在 UICollectionViewControllerWrapperView 中。试图在 viewWillAppear 中向此包装器 View 添加事件:

[self.itemsCollectionView.superview addSubview:self.activityIndicator];

但运气不好 - 事件指示器仍然在单元格下方。

最佳答案

我已经结束了在 Storyboard 中重构现有的 UICollectionViewController:我用 TextEdit 打开了 Storyboard xml 文件,搜索了屏幕并将其类型从 collectionViewController 更改为 viewController,因为无法找到另一种方法来更改 Controller 的类型,尽管我希望在不久的将来会出现一些更优雅的方式。然后,我将 collectionView 包装在 Root View 中,并将 activityIndi​​cator 放在该 View 中。事实证明,经典方法很有魅力。

关于ios - 使用 UICollectionViewController 时如何为 UICollectionView 添加居中的 UIActivityIndi​​cator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20884958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com