UICollectionView:一行或一列 [英] UICollectionView: One Row or Column

查看:205
本文介绍了UICollectionView:一行或一列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用 UICollectionView 来显示缩略图的水平可滚动列表,但是,我希望这是一行。在另一个视图中,我在 UICollectionView 中显示缩略图,但是这个缩略图垂直滚动,它在一列中。

I want to use UICollectionView to display a horizontal scrollable list of thumbnails, however, I want this to be a single row. On another view, I'm displaying the thumbnails in a UICollectionView but this one scrolls vertically and it's in a single column.

目前,我这样做的方法是将集合视图的大小更改为仅对一个项目足够大,以便自动装配和工作,但现在我正在处理可变大小的项目,所以它不会继续工作。

Currently, the way I'm doing this is by changing the size of the collection view to only be big enough for one item so it autowraps and works, but now I'm dealing with variable sized items so it doesn't work anymore.

如何让 UICollectionView 显示一行或一列?

How do you make a UICollectionView display one row or column?

推荐答案

我猜您正在使用内置的 Flow Layout
但是,对于您的情况,您应该进行自定义 UICollectionView布局
使它成为 UICollectionViewFlowLayout 的子类,并在 init 方法中添加此代码:

I am guessing you are using the built in Flow Layout. However, for your case, you should make a custom UICollectionView Layout. Make it subclass of UICollectionViewFlowLayout and add this code in the init method:

- (id)init {
    if ((self = [super init])) {
        self.scrollDirection = UICollectionViewScrollDirectionHorizontal;
        self.minimumLineSpacing = 10000.0f;
    }
    return self; 
}

minimumLineSpacing 是让它在这里有一行的关键。

The minimumLineSpacing is the key to making it have one line here.

我希望这有帮助!

这篇关于UICollectionView:一行或一列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆