使用带有两个项目的水平滚动时右对齐UICollectionView(对于RTL)

时间:2017-05-03 09:08:51

标签: ios objective-c uicollectionview right-to-left

我目前正在开发一个支持从右到左语言的项目。到目前为止,在Apple支持RTL的情况下,我管理了该项目的%80以支持RTL。但是我坚持使用UICollectionView。

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

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

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

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

任何想法为什么会发生这种情况? 请不要,我提到this answer here,但是它使用垂直滚动,而不是水平滚动。

1 个答案:

答案 0 :(得分:0)

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

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

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

希望它会有所帮助。