这个问题在这里已经有了答案:




8年前关闭。






我有多行和多列数据。但是 iPhone UITableView 只包含单列和多行。如何按照 Apple 的人机界面指南显示我的多列数据?有任何想法吗?

最佳答案

使用 GridView 满足您的此要求,请参阅下面的演示和教程链接...

  • Grid-View-in-IPhone-using-UITableView-1665
  • GMGridView
  • UIGridView

  • 我使用下面的代码来显示多列的时间表,一些示例代码..
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString* cellIdentifier = @"gridCell";
        UITableViewCell *gridCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    
        if(gridCell == nil)
        {
            gridCell =  [[[UITableViewCellalloc] initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:cellIdentifier] autorelease];
            gridCell.accessoryType = UITableViewCellAccessoryNone;
            gridCell.selectionStyle = UITableViewCellSelectionStyleNone;
        }
    
        NSArray* items = [_grids objectAtIndex:indexPath.section];
    
        int imageIndex = 0;
        int yOffset = 0;
    
        while (imageIndex < items.count)
        {
            int yPos = 4 + yOffset * 74;
    
            for(int i = 0; i < 4; ++i)
            {
                CGRect  rect = CGRectMake((18 + i * 80), yPos, 40, 40);
    
                UIImageView* imageView = [self gridImageRect:rect forImage:[items objectAtIndex:imageIndex]];
                [gridCell.contentView addSubview:imageView];
                [imageView release];
    
                rect = CGRectMake(((80 * i)-4), (yPos+44), 80, 12);
    
                UILabel* label = [self descriptionOfImage:imageIndex inRect:rect];
                [gridCell.contentView addSubview:label];
                [label release];
    
                ++imageIndex;
    
            }
    
            ++yOffset;
        }
    
        return gridCell;
    }
    

    我希望这能帮助你...

    关于iphone:如何在 UITableView 中创建多列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13873167/

    10-12 01:02