问题标签 [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 - UICollectionView 水平分页布局
嗨,我正在尝试实现这个 UI 元素,它看起来(对我来说)就像一个水平的 UIPickerView。这是在 iOS 上创建“memoji”时的示例 GIF:
我一直在尝试使用 UICollectionView 和自定义 UICollectionViewFlowLayout 来实现这一点。但没有太多的运气。
到目前为止我尝试的是使用
停止每个单元格上的滚动,从而给它一种分页感。但为了做到这一点,我实际上必须制作
返回比实际存在更大的内容大小,否则它只会反弹collectionView,无论我在前一个函数中返回什么,都不会卡入到位。
我也尝试使用
设置collectionView.contentOffset
但是这会导致动画中出现奇怪的跳跃,并且再次没有正确更改它。除了每个单元格的分页之外,我还想在那个 UI 元素上实现什么,当通过元素时每个滚动上都有一个小的触觉反馈,以及边框上左右元素的淡入和淡出。如果有人能指出我正确的方向,也许 UICollectionView 不是要走的路?我会很感激。谢谢
ios - UICollectionViewCell 宽度大于我在 sizeForItemAt 中设置的宽度
我的宽度/高度UICollectionView
匹配所有可用空间。
我想在一行中显示两个单元格(两列)
所以一个单元格的宽度应该是UICollectionView
( collectionView.frame.width / 2
)的一半宽度
所以我以编程方式改变单元格的宽度UICollectionViewDelegateFlowLayout
:
但单元格的视觉宽度远大于collectionView.frame.width / 2.0
(在 iPhone SE 模拟器上测试)
所以它需要超过屏幕的半角空间
在这里,我打印了有关尺寸的信息:
didSelectItemAt 单元格宽度 187.5,表格宽度:375.0,半宽度:187.5
为什么会这样?
边距也有问题,但首先我必须解决这个问题
更新
虽然它适用于 iPhone 6s 模拟器(我编辑图像以将两个项目放在第一行以检查它们是否适合):
那么 iPhone SE 有什么问题呢?
我不想发现其他 iPhone 或 iPad 也可能存在同样的问题
ios - 从情节提要的 UICollectionViewFlowLayout 创建 IBOutlet 时出错
我正在尝试从我的集合视图的流布局属性(位于 collectionViewController 中)设置一个 IBOutlet:
但是,当我连接插座时,出现以下 3 个错误:
- 不能用“弱”属性覆盖“强”属性
- 带有Objective-C选择器'collectionViewLayout'的'collectionViewLayout'的getter与具有相同Objective-C选择器的超类'UICollectionViewController'的'collectionViewLayout'的getter冲突
- 类型为 'UICollectionViewFlowLayout?' 的属性 'collectionViewLayout' 无法覆盖类型为“UICollectionViewLayout”的属性
有人能解释一下这意味着什么以及我该如何解决吗?
ios - 单元格不会在自定义 CollectionView 流布局上调整大小,每个单元格应该有不同的大小
我正在关注一个关于如何在集合视图上制作标签流系统的旧教程。我已经设法显示每个不同大小的完整标签,但我正在努力让单元格自行调整大小。我是 Swift/Xcode 的初学者,所以错误一定很愚蠢,但我想不通。
我已按照本教程进行操作,但我的不起作用。我已经根据 Xcode 推荐的内容进行了一些更改,因为那里的语法有点旧。我想我可能误会了什么。
我已将项目上传到 GitHub,但我认为问题如下:
这个全局变量应该是一个用于检查大小的覆盖函数的单元格:
在viewDidLoad()
我抓住牢房
在扩展上
我有以下功能来调整单元格的大小(来自教程)
我希望不同的行能够拥有不同数量的标签(例如在流布局中)并且每个标签单元格具有不同的宽度。相反,每个单元格都有大小,但标签可以有不同的大小。
swift - UICollectionView 中的节标题,仅出现第一个
我为节标题创建了一个类,并将其加载到我的 UICollectionView 中。我能够显示第一个标题(尽管很奇怪,见下文),但是任何以下部分标题都是空白的。正在引用大小,但内容(背景颜色,标签)不会出现。
然后还有......确实显示的一个部分标题,它显示为缩进约。150px 没有明显的原因。标题是否默认居中对齐?如果是这样,我将如何左对齐这些?
我的部分标题类:
在我的 UICollectionView
这就是我实例化 UICollectionView 的方式
我的 CollectionViewFlowLayout
}
ios - 在 iOS 12 中,当 UICollectionView 是使用具有约束的 Self Sizing 单元格创建时,重新加载布局时高度错误,直到我滚动
使用此处解释的解决方案时,我在 iOS 12 中遇到了一个奇怪的问题。
首次加载集合视图时效果很好,但是当我尝试使用collectionView.reloadData()
或重新加载集合视图时collectionView.collectionViewLayout.invalidateLayout()
,会添加一个奇怪的单元格高度。
一旦我开始滚动,一切都会再次正常。请看下面的图片。第一张图片显示了视图加载后单元格的工作高度。第二个显示按下重新加载后的单元格。
重新加载栏按钮调用以下方法。
请在此处查看 GitHub 中的示例项目以重现该问题。我使用 Xcode 10.1 和 10.2 重现了这个问题。
任何解决问题的帮助或指导将不胜感激!
提前致谢。