在UICollectionView中每行只显示一个项目

时间:2012-12-08 16:00:57

标签: iphone ipad ios6 uicollectionview

我没有代码,因为我不知道如何开始。

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

关于UICollectionViews的{​​{3}},您应该创建自定义UICollectionViewFlowLayout。 如上所述,您应该设置CollectionView的底部和顶部Edge Insets,以便只有一个Cell适合中间,其余的将由CollectionView完成。

边缘插图可以使用UIEdgeInsetsMake(top, left, bottom, right)

完成

因此,在您的布局中,您可以像这样自定义init

-(id)init
{
    self = [super init];
    if (self) {
        self.itemSize = CGSizeMake(100, 100);
        self.scrollDirection = UICollectionViewScrollDirectionHorizontal;

        CGRect bounds = [[UIScreen mainScreen] bounds];
        CGFloat spacing = bounds.size.height / 2 - self.itemSize.height / 2;
        self.sectionInset = UIEdgeInsetsMake(spacing, 0, spacing, 0);
    }
    return self;
}

因此,实际上你将CollectionView的高度设置为屏幕的高度减去单元格的高度,除了它居中。

希望有所帮助。

答案 1 :(得分:-1)

如果想要一个项目,为什么不尝试UItableView

UITableView *myTableView = [UITableView alloc] init];

代表

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath