Я сделал сетку, используя табличное представление, где я в основном подделал ее, добавив подпредставления в ячейку.Так, если вы, например, создаете ячейку, добавляете к ней три подпредставления, вы можете получить нужные элементы, выполнив что-то вроде этого, когда запросит ячейку для определенной строки:
// get the items for the row (a row is one cell)
NSArray *rowItems = nil;
int startIndex = indexPath.row * NumOfItemViewsPerRow;
if (startIndex + NumOfItemViewsPerRow < [items count]) {
rowItems = [items subarrayWithRange:NSMakeRange(startIndex, NumOfItemViewsPerRow)];
} else {
rowItems = [items subarrayWithRange:NSMakeRange(startIndex, [items count] - startIndex)];
}
Затемпросто после этого вы можете зациклить подпредставления вашей строки примерно так:
[cell.itemViews enumerateObjectsUsingBlock:^(MyItemView *itemView, NSUInteger idx, BOOL *stop) {
NSDictionary *item = [rowItems objectAtIndex:idx];
itemView.titleLabel.text = [item valueForKey:@"title"];
};
Это немного неудобно, но положительным моментом является то, что вы получаете разгрузку строк бесплатно из табличного представления, так что вы нене нужно возиться с вашими собственными сетками или чем-то в этом роде.
Надеюсь, это поможет.