如何在集合视图中更改流项目顺序

时间:2016-06-20 10:23:49

标签: ios swift sorting uicollectionview uicollectionviewcell

默认情况下,在具有流布局和水平方向的UICollectionView上,单元格从上到下,从左到右排序。像这样:

(defn fill2!
  [{{:keys [grid-width grid-height]} :screen set-char! :set-char!}
   tex-x tex-y color]
  (doseq [x (range grid-width) y (range grid-height)]
    (set-char! term x y tex-x tex-y color))
  term)

在我的情况下,集合视图被分页,并且它的设计使得特定数量的单元格适合每个页面。因此,更自然的顺序是:

1 3 5 7  9 11
2 4 6 8 10 12

我需要具有相同的垂直流顺序,但水平方向

我怎样才能做到这一点? 谢谢你提前

2 个答案:

答案 0 :(得分:0)

使用UICollectionView' moveItemAtIndexPath sourceIndexPath:来做到这一点。

它具有源索引和目标索引路径值。只需拖放用户集合视图单元格。

答案 1 :(得分:-1)

实现UICollectionView并创建自定义集合视图单元格,其中包含6个标签---

1 2 3
4 5 6

设置集合视图中的项目数: -

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return array.count;
}

设定部门数量: -

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
    return 1;
}

根据您的要求在索引路径设置布局大小

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath 
{
    // set size of collection view cell (width, height)
    return CGSizeMake((self.view.frame.size.width)-40, 200);
}

集合视图数据ai不同的索引路径。在CustomCollectionViewCell类中创建标签的IBOutlet并连接到storyboard: -

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    CustomCollectionViewCell* customCell = [collectionView dequeueReusableCellWithReuseIdentifier:@"waitingRoomTipId" forIndexPath:indexPath];

    // set data as per the requirement 
    customCell.label1.text = @"Label1";
    customCell.label2.text = @"Label2";
    customCell.label3.text = @"Label3";
    customCell.label4.text = @"Label4";
    customCell.label5.text = @"Label5";
    customCell.label6.text = @"Label6";

    return customCell;
}

这是每个单元格中显示六个标签的方式。

希望这个解决方案能帮到你..谢谢