OGeek|极客世界-中国程序员成长平台

标题: ios - 使用两个项目的水平滚动时右对齐 UICollectionView(用于 RTL) [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 19:36
标题: ios - 使用两个项目的水平滚动时右对齐 UICollectionView(用于 RTL)

我目前也在开发一个支持从右到左语言的项目。到目前为止,在 Apple 的 RTL 支持下,我管理了 %80 的项目来支持 RTL。但是我被 UICollectionView 卡住了。

对于 LTR 语言,一切正常,如下所示:

enter image description here enter image description here enter image description here

然而,当 RTL 被激活时,请看下面, Collection View 正在成功加载,但是当它试图展开或换句话说重新加载时,它再次像 LTR 一样,我猜。我添加了慢动作 gif,以便为您提供有关行为的一些信息。

enter image description here enter image description here enter image description here

知道为什么会这样吗? 请不要,我提到了this answer here ,但是它使用垂直滚动,而不是水平滚动。



Best Answer-推荐答案


-你确定你在 AutoLayout 中的约束是正确的吗? - 而不是设置 RTL, 首先在创建 UICollectionView 时对其进行水平翻转。 [collectionView_setTransform:CGAffineTransformMakeScale(-1, 1)];

然后在 CellForItemAtIndexPath 方法中返回一个单元格之前,给该单元格水平翻转。

[cell setTransform:CGAffineTransformMakeScale(-1, 1)];

希望它会有所帮助。

关于ios - 使用两个项目的水平滚动时右对齐 UICollectionView(用于 RTL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43755720/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4