Yuvaraj.M
Yuvaraj.M

Reputation: 9811

Is it possible to create multiple columns in UITableView?

I want to add more columns in my iPhone/iPad application. Is it possible to add more columns in one UITableView? Can you please suggest any sample code/block/project that using multiple columns in one UITableView? Please help me. Thanks in advance.

Upvotes: 1

Views: 3626

Answers (5)

Tanin
Tanin

Reputation: 1933

You can use my library, UIGridView.

It is created with UITableView, in which UITableViewCell contains many cells inside.

Here is how it looks like:

UIGridView Example

Upvotes: 1

Kenny Lövrin
Kenny Lövrin

Reputation: 801

I've done a grid by using a table view where I have basically faked it by adding subviews to a cell. So if you for example create a cell, add three subviews to it, you can then get the items you need by doing something like this when it asks you for a cell for a specific row:

// 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)];
}

Then just after that you can loop the subviews of your row something like this:

[cell.itemViews enumerateObjectsUsingBlock:^(MyItemView *itemView, NSUInteger idx, BOOL *stop) {
    NSDictionary *item = [rowItems objectAtIndex:idx];
    itemView.titleLabel.text = [item valueForKey:@"title"];
};

It is a bit fiddly, but the upside is that you get row unloading for free from the table view, so you don't have to mess with your own custom grid views or anything like that.

Hope that helps.

Upvotes: 0

sandy
sandy

Reputation: 1948

No Yuvaraj.M we can't create. but you do something like multicolumn by adding component like label or image or button what u want or else using custom cell.

Upvotes: 0

Jaffa
Jaffa

Reputation: 12710

No it is not possible, in fact UITableView is badly named a represents a List more than a Table.

If you want to have multiple column, one method is to create specific cells, with multiple label, and pack your data by row then column.

Upvotes: 3

RolandasR
RolandasR

Reputation: 3047

short answer is no, but you always can create custom cell what will look like multiple columns

Upvotes: 3

Related Questions