gpt4 book ai didi

swift - UICollectionViewFlowLayout.scrollingDirection 改变强制重新加载 - Swift 4

转载 作者:行者123 更新时间:2023-11-28 14:29:05 27 4
gpt4 key购买 nike

我正在开发一个锁定为纵向模式的应用程序。现在我们在图片上添加了旋转 handle 。

我有一个 UICollectionView,每个单元格都占据整个屏幕大小,以便全屏显示图片。在 FullPictureViewController 上显示全屏单元格之前,您可以选择要查看的图片。

当您改变手机的旋转方向时,会发生以下情况:

    func rotatePictures(cell: NewsImageCell) {
DispatchQueue.main.async {
switch UIDevice.current.orientation {
case .landscapeLeft:
let newImage : UIImage = UIImage(cgImage: cell.imageView.image!.cgImage!, scale: cell.imageView.image!.scale, orientation: UIImageOrientation.right)
cell.imageView.image = newImage
self.layout.scrollDirection = .vertical
cell.layoutSubviews()
case .landscapeRight:
let newImage : UIImage = UIImage(cgImage: cell.imageView.image!.cgImage!, scale: cell.imageView.image!.scale, orientation: UIImageOrientation.left)
cell.imageView.image = newImage
self.layout.scrollDirection = .vertical
cell.layoutSubviews()
case .portrait:
let newImage : UIImage = UIImage(cgImage: cell.imageView.image!.cgImage!, scale: cell.imageView.image!.scale, orientation: UIImageOrientation.up)
cell.imageView.image = newImage
self.layout.scrollDirection = .horizontal
cell.layoutSubviews()
case .portraitUpsideDown:
let newImage : UIImage = UIImage(cgImage: cell.imageView.image!.cgImage!, scale: cell.imageView.image!.scale, orientation: UIImageOrientation.upMirrored)
cell.imageView.image = newImage
self.layout.scrollDirection = .horizontal
cell.layoutSubviews()
default:
print("terminator")
}
}
}

现在,这是我的问题:如果我删除 self.layout.scrollDirection = .horizo​​ntal,我可以看到我的图片并旋转它,但滚动方向将保持锁定在 。垂直。但是,如果我切换 self.layout.scrollDirection = .horizo​​ntal,collectionView 会重新加载其数据源,然后将我发送回项目 [0]。

任何与 scrollDirection 相关的内容似乎都会让我回到第一个项目,而我想保留当前项目。

有什么解决方案或解决办法吗?

最佳答案

尝试安装这个 pod:

https://github.com/Krisiacik/ImageViewer

并在您调用此库方法时传递您的 imageview 对象。

关于swift - UICollectionViewFlowLayout.scrollingDirection 改变强制重新加载 - Swift 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51364634/

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