IOS更改列表样式(网格或列表)

时间:2014-02-19 17:29:37

标签: ios objective-c uicollectionview

我有一个使用的UITableView,我的CUITableViewCell。我的UITableviews每一行都由指定的单元格标识符填充,如:

[NSString stringWithFormat @"cell_row_%d",ProductId]//(ProductId is uniq value)

一切都很好,这是完美的,但现在我必须添加一个切换按钮,将tableviewcell样式切换为盒子样式,如android gridview,ios集合视图。对于exp,如果单击“列表样式”,则无需更改任何内容,但如果单击“框样式”,则表格必须更改为框样式。我如何为UICollectionViewCells每行做uniq标识符?

3 个答案:

答案 0 :(得分:0)

您需要使用UIcollectionViewCell创建一个UICollectionView,并将其作为子视图添加到当前视图中,隐藏当前的UITableView。

答案 1 :(得分:0)

要将值从自定义单元格中的UITextField传递到源模型,您必须触发其 - (IBAction)textFieldReturn:(id)sender方法,以便以这种方式获取对单元格的引用:

-(IBAction)textFieldReturn:(id)sender

  //Get the superview from this txtfield which will be our cell

  UITableViewCell *owningCell;

  if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
    owningCell = (UITableViewCell*)[[sender superview] superview];
  } else {
    owningCell = (UITableViewCell*)[[[sender superview] superview] superview];
  }

  //From the cell get its index path.
  NSIndexPath *indexPath = [tblView indexPathForCell:owningCell];

答案 2 :(得分:0)

为什么不在两种情况下使用UICollectionView?当列表必须更改为网格时,只需更改每个单元格的大小。