ios - 如何知道collectionview单元在设备屏幕上的位置

标签 ios swift uicollectionview uicollectionviewcell

嗨,我是 ios 开发的新手,我正在使用 collectionview一次显示一个单元格并水平滚动(就像画廊一样),我想做的是当单元格滚动并且单元格 0 和单元格 1 显示在屏幕的一半上时更改屏幕上显示的标签-一半。 目前,当滚动停止时,标签中的文本会发生变化。 我正在使用func scrollViewDidEndDecelerating(_ scrollView: UIScrollView)

编辑1:

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
    let visibleRect = CGRect(origin: imageCollectionView.contentOffset, size: (imageCollectionView.bounds.size))
    let visiblePoint = CGPoint(x: visibleRect.midX, y: visibleRect.midY)
    let indexPath : IndexPath = imageCollectionView.indexPathForItem(at: visiblePoint)!
    lblUserName.text = arrayImageData[indexPath.row]["userName"] as! String?
    lblTime.text = arrayImageData[indexPath.row]["time"] as! String?
    imgProfilePic.kf.setImage(with: arrayImageData[indexPath.row]["profilePic"] as! Resource?)
}

最佳答案

您只需要实现 scrollViewDidScroll 即可。

关于ios - 如何知道collectionview单元在设备屏幕上的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43469690/

相关文章:

ios - 使用分段控件切换 Collection View

ios - GMSMapView clear 不清除内存

ios - UISearchController - 如何从过滤表中选择结果

ios - 使用 UIImagePickerController Swift 时圆形图像裁剪

ios - Storyboard未在 XCode 12.0.1 中显示自定义颜色十六进制代码

ios - 以编程方式创建的后退按钮没有箭头

ios - 在 iOS 中顺时针绘制圆弧会导致逆时针圆弧

ios - 在 swift 中,当我的类有同名的子类时如何引用最顶层的类

swift - UICollectionView 单元格不出现

ios - 如何在没有多选的情况下向 UICollectionView 添加取消选择?