gpt4 book ai didi

swift - TableView 内的 CollectionView 滚动ViewDidEndDecelerating 崩溃

转载 作者:行者123 更新时间:2023-11-30 10:51:33 32 4
gpt4 key购买 nike

UITableView(水平滚动)中numberOfRowsInSection是动态数字。在 UICollectionView 中(垂直滚动)numberOfItemsInSection 也是动态的。

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return (self.arrayNewsfeedsList[intIndex]as! Newsfeeds).media!.count//3
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "sliderCollectionViewCell", for: indexPath) as! sliderCollectionViewCell
let stringImageUrl = "https://img.youtube.com/vi/CQElIZzzlpc/hqdefault.jpg"
cell.imageViewSlider.setKRImageUrl(url:stringImageUrl) { (imageUser) in
cell.imageViewSlider.image = imageUser
}
return cell
}

滚动scrollViewDidEndDecelerating和scrollViewDidEndScrollingAnimation时,应用程序崩溃。

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
let cell = tableviewNewsfeed.cellForRow(at: NSIndexPath(row: 0, section: intIndex) as IndexPath)as! NewsfeedTableViewCell
cell.pagecontrolYoutube?.currentPage = Int(scrollView.contentOffset.x) / Int(scrollView.frame.width - 50)
}

func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
let cell = tableviewNewsfeed?.cellForRow(at: NSIndexPath(row: 0 , section: intIndex) as IndexPath)as! NewsfeedTableViewCell
cell.pagecontrolYoutube?.currentPage = Int(scrollView.contentOffset.x) / Int(scrollView.frame.width - 50)
}

如何更新此行?

tableviewNewsfeed?.cellForRow(at: NSIndexPath(row: 0 , section: intIndex) as IndexPath)as! NewsfeedTableViewCell

请参阅此图片以供引用:https://imgur.com/a/oG4nLtc

最佳答案

首先,我建议避免将 UITableView 粘在 UICollectionView 中 - 对于单元格重用来说这始终是一个坏主意,而且它只会把事情搞砸。尝试使用 IGListKit - 它有助于轻松管理嵌套数据结构,查看它们的示例。

至于您的代码 - 进行嵌套设置的方法 - 是让一个 UICollecionViewCell 来保存整个 UITableView 而不是尝试计算表的数量cells 并将这个数字传递给 UICollectionView 委托(delegate)方法。因此 - 仅返回 Collection View 部分的 1 个单元格:

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 1
}

然后在 UICollectionViewCell 子类中完全管理 UITableView 设置

关于swift - TableView 内的 CollectionView 滚动ViewDidEndDecelerating 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54415610/

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