问题标签 [uicollectionviewflowlayout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS - UICollectionView 动态高度
我已经定义了我的流布局如下
然后在单元格中设置预期内容的高度
它有效。我得到了我期望它们的高度的单元格,但是控制台中出现了每个单元格的令人讨厌的警告
我很确定这是因为这个约束'UIView-Encapsulated-Layout-Height'
保留了流布局的预期项目大小的值,因为如果我将其设置为 100,则不会显示日志消息。但是,我正在寻找动态单元格高度,所以即使我将其设置为 100,它也会在其他地方失败。
所以我的问题是如果我在定义我的动态单元格时做错了什么?或者有没有办法降低估计的单元格高度的优先级,这样它会在万一情况下打破这个约束?
swift - UICollectionView 自调整大小的单元格
所以我想弄清楚如何自行调整集合视图单元格的大小。所以我有一个 ViewController,我在 ViewController 中拖了一个 collectionView。我没有使用 xib 文件,我使用的是原型单元。现在我似乎无法弄清楚如何自行调整单元格的大小。它不像表格视图那么容易。我已经尝试了以下我发现的方法。
然后我找到了另一个创建 dummyCell 的,看起来像这样。虽然这会使我的应用程序崩溃。
所以我需要一个集合视图控制器而不是视图控制器。我如何能够在不使用 collectionViewController 或 nib 文件的情况下调整单元格的大小?谢谢
swift - UICollectionView 的实际性能真的很差
我目前正在做一个项目,基本上,我还在学习。
我一开始使用的是 a UITableView
,但我需要自动高度和 2 或 3 列(取决于设备)。对于列,我使用UICollectionViewFlowLayout
. 一般来说,我只使用Labels
and StackViews
; 像一些警告Unable to simultaneously satisfy constraints
(但我改变了一些优先级并且正在工作,但性能仍然非常糟糕。
我没有从后端检索信息,没什么了不起的。
CustomLayout
如下:
我确实需要具有自动高度的 2 或 3 列。但与任何其他项目一样,真正重要的是:Performance
.
非常感谢您提前。
ios - 在 UICollectionViewFlowLayout 上设置estimatedItemSize 是否会破坏 UICollectionViewDataSourcePrefetching?
我正在创建一个UICollectionView
具有动态高度的单元格并使用(Apple Docs Reference)estimatedItemSize
上的属性。UICollectionViewFlowLayout
虽然,我注意到一旦我设置了estimatedItemSize
属性,我prefetchItemsAt
的委托方法UICollectionViewDataSourcePrefetching
就没有被调用。
func collectionView(_ collectionView: UICollectionView, prefetchItemsAt indexPaths: [IndexPath])
如果我不设置estimatedItemSize,预取将再次开始工作。这是已知的行为还是我在这里做错了什么?请帮忙。
示例代码:
ios - UICollectionView 标头影响预取项目
在 UICollectionView 中使用UICollectionViewFlowLayout sectionHeadersPinToVisibleBounds = true
时,UICollectionViewDataSourcePrefetching 的funcprefetchItemsAt indexPaths
总是重复 indexPaths,例如:
当indexPaths的删除sectionHeadersPinToVisibleBounds = true
(或将值设置为)数组在以下位置变得正确时:false
prefetchItemsAt indexPaths
你能告诉我如何解决这个问题吗?
swift - Swift - 如何针对不同的 IOS 设备大小调整 UICollectionViewCell 的比例
我
CollectionView
在底部使用 a 作为菜单栏,
我创建了一个自定义类,并制作了 5 个均匀间隔的单元格,这些单元格在 iPhone 8 上ViewController
填充了以下内容,这是预期的结果 -CollectionView
但是,当我在任何具有更大屏幕的 iPhone 上运行该项目时,我得到以下结果:
我的问题是,我怎样才能将单元格放大以适应没有任何边距,即使它需要CollectionView
增加它的高度,我希望图像(将放置在单元格中)保持它们与 iPhone 8 的纵横比屏幕。
我可以CollectionViewCell
用代码增加每个的大小吗?如果是这样,有没有办法在不计算迄今为止发布的每部 iPhone 的宽度/高度的情况下这样做?
或者有人可以推荐一种不同的方法来实现这一点吗?如果我以错误的方式接近这个。
提前致谢!
ios - UICollectionView 粘性标题在集合过度滚动时插入部分后消失一段时间(反弹效果)
我UICollectionReusableView
用作UICollectionView
部分的标题。我启用了“粘性标题”:
我正在插入新的部分以收集:
如果在集合被过度滚动(启用反弹)时发生插入,标题将消失一段时间(见下面的 GIF)。我怎样才能避免这种行为?
我使用的是 iOS 12.1.4,但同样的问题也发生在 iOS 11.x 和 12.x 模拟器上。
如果关闭反弹效果,则不会发生此问题,但我想保持打开状态以获得更流畅的滚动感觉。我在更新之前/之后尝试使布局无效,但没有结果。感谢您的建议。
编辑(02/26/2019)
解决方法:包装插入以performWithoutAnimation
阻止解决标题消失但显然禁用重新加载动画。
ios - UICollectionViewController 页脚在 endEditing 后未正确重新定位自身
我有一个简单的 UICollectionViewController,它是一个带有固定到可见边界的页眉和页脚的部分。当我单击页脚中的 textField 时,页脚会自动在键盘上方进行动画处理,并且 collectionView 会滚动以显示否则会如您所料被键盘隐藏的单元格。但是,当我在键盘外单击一个,并通过调用self.view.endEditing(true)
页脚将其关闭时,除非 collectionView 在底部附近滚动,否则 collectionView 不会做出反应。如果 collectionView 在底部附近滚动,则页脚和 collectionView 会按预期进行动画处理。
如何强制页脚和 collectionView 每次都正确设置动画?
在下图中,页眉为橙色,页脚为绿色,并且有 10 个红蓝交替的单元格。
实际行为(当键盘关闭时您未在 collectionView 底部附近滚动时发生)
期望的行为(当您在键盘关闭时在 collectionView 底部或附近滚动时发生)
我知道有一些方法可以在键盘出现和消失时使用通知来实现这一点,但如果可能的话,我宁愿只使用默认的 UICollectionViewController 行为。我缺少一些配置或设置吗?
代码:新的单一视图应用程序。删除 StoryBoard 和 ViewController.swift。从 info plist 文件中删除主故事板条目。
AppDelegate.swift
CollectionViewController.swift
我的页眉页脚类
ios - iOS - 带有内容插入的粘性标题 - 标题视图不像单元格那样滚动
我们试图UICollectionView
在地图上滚动点赞列表。不要将这与卡在一个点(如低、中和高)的底部工作表混淆。集合视图的 flowlayout 属性已sectionHeadersPinToVisibleBounds
启用。我附上了示例项目供您参考。当用户滚动时,标题视图是否可以移动到集合视图的顶部?
这是示例项目
我需要进行基本的更改才能进入该状态:
红色视图是固定的标题视图。当用户滚动时,我是否需要自定义布局来更新其位置?