gpt4 book ai didi

ios - UIView 容器内的 UICollectionView : didSelectRowAtIndexPath doesn't get called after scroll

转载 作者:IT王子 更新时间:2023-10-29 05:44:28 24 4
gpt4 key购买 nike

我在 ViewController 中嵌入了 3 个 UIViews Header/Tabar/Container 和一个 ScrollView。所以这是我的结构:

enter image description here

在 ContainerView 中我加载了一个 UICollectionView(像这样):

let controller = storyboard!.instantiateViewControllerWithIdentifier("myCollectionViewController") as! myCollectionViewController
controller.delegate = self

self.addChildViewController(controller)
controller.view.backgroundColor = UIColor.brownColor()
self.containerView.addSubview(controller.view)
controller.didMoveToParentViewController(self)

一切正常,UICollectionView 的每个单元格都已加载,...唯一的问题是,所有隐藏的单元格(甚至隐藏的单元格的所有部分)都是不可选择的。我的意思是我的函数“didSelectRowAtIndexPath”不适用于第一个屏幕外的每个像素。这是我的问题的方案:

这是滚动前的内容(左边是方案,右边是屏幕上的实际内容)-> 这里一切正常:

enter image description here

这是我滚动后的内容(左边是方案,右边是我实际在屏幕上的内容)->只有滚动前显示的像素可以调用“didSelectRowAtIndexPath”:

enter image description here

问题在于 self.view.frame 没有很好地刷新。您知道我应该如何以及何时更改此框架吗?

最佳答案

你必须定义 ScrollView 内容的大小

为你的 ScrollView 创建一个导出

@IBOutlet weak var scrollview : UIScrollView!

使其高度等于header、tabBar和容器的高度之和:

self.scrollView.contentSize = CGSizeMake(self.view.frame.width, header.frame.height + tabBar.frame.height + container.frame.height)

关于ios - UIView 容器内的 UICollectionView : didSelectRowAtIndexPath doesn't get called after scroll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31879956/

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