gpt4 book ai didi

ios - 如何从 UICollectionViewFlowLayout 中删除换行符

转载 作者:行者123 更新时间:2023-11-28 06:29:44 26 4
gpt4 key购买 nike

我正在尝试使用 UICollectionViewFlowLayout 为我的部分中的项目删除换行符。

目前我有

|header         |
|0-0 0-1 0-2 0-3|
|0-4 0-5 |

|header |
|1-0 1-1 1-2 0-3|
|1-4 1-5 |

我需要:

|header         |
|0-0 0-1 0-2 0-3| 0-4 0-5

|header |
|1-0 1-1 1-2 1-3| 1-4 1-5

因此用户可以水平滚动。在 iOS 上,我通过创建两个嵌套的 collectionView 解决了这个问题,但在 tvOS 上,我无法复制该解决方案,因为我无法专注于内部单元格。

经过几次尝试,我覆盖了嵌套 UICollectionView 所在的 tableCell 上的 preferredFocusedView 变量:

override var preferredFocusedView: UIView? {
return moviesCollection
}

此行为允许我在集合的内部元素之间水平滑动,但我无法垂直滑动以在表格单元格之间切换。

我有点迷茫,任何形式的帮助将不胜感激。

谢谢。

最佳答案

这可以通过自定义 UICollectionViewLayout 很快解决

子类 UICollectionViewLayout 并覆盖以下属性和方法

  1. var collectionViewContentSize: CGSize
  2. 函数准备()
  3. func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]?

确保为每个单元格返回正确的帧

这是我的工作解决方案,它还方便地提供了 UICollectionViewFlowLayout 的一些属性(itemSize、minimumInteritemSpacing、minimumLineSpacing)。

您可能不需要更改任何内容,只需将其添加到您的项目中即可。

https://gist.github.com/kflip/52ec15ddb07aa830d583856909fbefd4

随意添加 scrollDirection 支持......它已经在两个方向上滚动,但如果一个部分应该显示为列而不是行,你可能想要更改......

如果您需要更多基于 IndexPaths 的自定义(例如 CellSize),您还可以添加类似 FlowLayout 的协议(protocol)功能

关于ios - 如何从 UICollectionViewFlowLayout 中删除换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40687552/

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