gpt4 book ai didi

ios - 带有自定义标题的 UICollectionView

转载 作者:行者123 更新时间:2023-11-29 02:33:08 24 4
gpt4 key购买 nike

我正在尝试开发一个 UICollectionView,它支持包含 UIScrollview 的自定义 header 。问题是(根据我目前在文档中发现的内容)UICollection View 不支持像 UITableview 这样的静态标题 View (我可以使用 Storyboard 在其中放置一个 View )。 header 是一个 UICollectionResusableView 实例,每次向上和向下滚动 Collection View 时都会重新生成该实例。很明显,这种 View 不能连接到 outlet,因为它是一个像 UITableViewCell 这样的动态原型(prototype)。我如何添加一个自定义 View (和我可以连接的相对 View Controller )作为我的 Collection View 的标题?

附言。我在 iOS8 上开发

最佳答案

我可以使用 Table View Cell 原型(prototype)作为标题,这样我就可以在 Interface Builder 中完成所有操作。也许这也适用于 Collection View:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
AXSHomeSectionHeaderCell *sectionHeader = [tableView dequeueReusableCellWithIdentifier:@"Home Section Header"];

return sectionHeader;
}

我会看:

dequeueReusableSupplementaryViewOfKind:withReuseIdentifier:forIndexPath:

--- 编辑---

也许我没有完全理解你上面的答案的问题。你想要一个 UIView 而不是你可以直接连接到你的 View Controller 但你希望它与 Collection View 一起滚动?我过去使用的一种技术是在一个 UIScrollView 中使用一个 UIView 和一个 UICollectionView,其中 Collection View 的宽度/高度总是和它需要的一样大,所以它本身不会获得 ScrollView ,然后应用大小UIView 和 UICollectionView 都在 ScrollView 中,因此它们作为一个 ScrollView 。

我是这样处理这种情况的:

例子

我有一个 UIScrollView,上面有一个 UIView 作为标题,下面是一个 UICollectionView。 UIScrollView 有一个确定高度的自动布局约束,需要将其设置为其中两个 View 的内容的确切高度(对于您来说也可能是宽度)。我只知道加载数据后 Collection View 有多大,所以我会在重新加载后开始测量,然后再调整大小。

// Method being called after I successfully fetched my data
- (void)handleSuccess:(HomeScreenData *)homeScreen {
self.eventsCollectionViewDatasource.featuredEvents = homeScreen.events;

[self.eventsCollectionView reloadData];

float headerHeight = CGRectGetHeight(self.headerView.frame);
float eventsCollectionHeight = self.eventsCollectionView.contentSize.height;

float totalScrollerHeight = headerHeight + eventsCollectionHeight; // This is how tall the scroller should be, you can do more fancy stuff if you need the width as well

self.scrollViewContainerViewHeight.constant = totalScrollerHeight; // With autolayouts, use whatever you like
}

它还将支持滚动滚动!事实上,我使用它的目的是在顶部有一个轮播类型的 Collection View ,带有横向滚动,在它下面有一个垂直滚动的表格,一起与基于顶部 Collection View 的轮播。它像 Interface Builder 中的任何其他非重复性嵌套项目一样易于访问。

关于ios - 带有自定义标题的 UICollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26660997/

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