作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个锁定为纵向模式的应用程序。现在我们在图片上添加了旋转 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 = .horizontal
,我可以看到我的图片并旋转它,但滚动方向将保持锁定在 。垂直
。但是,如果我切换 self.layout.scrollDirection = .horizontal
,collectionView 会重新加载其数据源,然后将我发送回项目 [0]。
任何与 scrollDirection
相关的内容似乎都会让我回到第一个项目,而我想保留当前项目。
有什么解决方案或解决办法吗?
最佳答案
关于swift - UICollectionViewFlowLayout.scrollingDirection 改变强制重新加载 - Swift 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51364634/
我正在开发一个锁定为纵向模式的应用程序。现在我们在图片上添加了旋转 handle 。 我有一个 UICollectionView,每个单元格都占据整个屏幕大小,以便全屏显示图片。在 FullPictu
我是一名优秀的程序员,十分优秀!