gpt4 book ai didi

ios - UICollectionView RTL 方向

转载 作者:行者123 更新时间:2023-12-01 16:45:01 25 4
gpt4 key购买 nike

xcode 中的 UIViewCollection 有两种方向状态:
1.水平
2.垂直

我正在尝试使用垂直状态,但要让它从右到左显示单元格。默认当然是从左到右。

如果我不清楚,我会用一个例子:
假设我有一个 Vertical collectionView,其中连续 3 个单元格,目前它只显示一行。当我添加另一个单元格(第 4 个单元格)时,我希望它出现在 collectionView 的右下角。目前它出现在左下角。

任何帮助都会很棒,

谢谢

最佳答案

找到了!

我在其 x 轴上镜像了 Collection View ,但随后我还需要镜像单元格。这有点麻烦,因为 UICollectionView 没有“willDisplayCell”或类似的东西。

我是这样做的:

第一步 - 在 vi​​ewDidLoad

self.collectionView.layer.transform = CATransform3DConcat(self.collectionView.layer.transform, CATransform3DMakeRotation(M_PI,0.0,1.0,0.0));

第二步 - 在 cellForItemAtIndexPath 函数中
[self performSelector:@selector(flipCell:) withObject:cell afterDelay:0.0];

第三步 - 创建新方法
-(void)flipCell:(YESMyZoneCollectionViewCell *)cell{
cell.layer.transform = CATransform3DConcat(cell.layer.transform, CATransform3DMakeRotation(M_PI,0.0,1.0,0.0));
}

祝你好运...

---大编辑---

我上面给出的解决方案并没有我想象的那么好,因为滚动的加载时间很长。

所以我做了类似的事情,没有“延迟执行”部分。

我用这个:
  -(void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSMutableArray *visibleCells = [[NSMutableArray alloc] initWithArray:[self.collectionView visibleCells]];

for (int i = 0; i < [visibleCells count]; i++) {
customCellObject *cell = [visibleCells objectAtIndex:i];
if (cell.isFlipped == NO) {
[self flipCell:cell];
}
}

}

我还必须在 cellForItemAtIndexPath 中设置 isFlipped 属性 NO,因为它们在重用时不会翻转...

关于ios - UICollectionView RTL 方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20756239/

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