【问题标题】:Collection view Images Stuck in between集合视图图像卡在两者之间
【发布时间】:2018-03-21 23:17:22
【问题描述】:

我在 collectionView 单元中实现了一个 collectionView。 让我们命名外部collectionView = collectionView(1) 和collectionView inside cell = collectionView(2) collectionView(2)中有滚动图片。

collectionView(1) 将垂直滚动,collectionView(2) 将水平滚动。

collectionView(2) 函数在 collectionView(1) Cell 文件中呈现。

我的问题是,当我滚动 collectionView(1) 时,图像卡在 collectionView(2) 之间

以下代码位于 CollectionViewCell 文件中。

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

    return self.imagesCount
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "HomePostImagesCollectionViewCell", for: indexPath)as! HomePostImagesCollectionViewCell
    cell.image.image = UIImage(named: "\((indexPath as NSIndexPath).item % imagesCount)")
    return cell
}



func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    DispatchQueue.main.async {

        let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)

        let vc = mainStoryboard.instantiateViewController(withIdentifier:   "OpenPostViewController")as! OpenPostViewController
        let navigationController = UIApplication.shared.keyWindow?.rootViewController as! UINavigationController
        navigationController.pushViewController(vc, animated: true)


    }
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
    return 0
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
    return 0
}

【问题讨论】:

  • 你能展示你的代码吗?
  • @Adeel 我刚刚用代码更新了问题
  • 您的代码似乎没问题。如果您可以分享collectionView1DataSource 和问题的屏幕截图,可能有助于找出发生这种情况的原因。
  • @Adeel 我已经上传了图片。图像在滚动时卡在两者之间,否则它是完美的。我认为这是由于细胞的重复使用。
  • 您的问题表明当您滚动collectionView1 时会出现问题。需要查看您尚未分享的collectionView1 的DataSource

标签: ios swift3 uiscrollview uicollectionviewcell collectionview


【解决方案1】:

我也遇到了这个问题,我用过

//Updation of screen
func layoutChange() {
    self.view.layoutIfNeeded()
    self.view.setNeedsUpdateConstraints()
    self.scrollView.layoutIfNeeded()
    self.scrollView.setNeedsUpdateConstraints()
}

或者你可以参考这个链接setNeedsLayout vs. setNeedsUpdateConstraints and layoutIfNeeded vs updateConstraintsIfNeeded

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    相关资源
    最近更新 更多