UITableview中有多个行和列

时间:2013-07-03 06:22:19

标签: iphone ios objective-c uitableview

我想创建我的UITableViewCell,如附加图片中所示。我怎么能做到这一点?
multiple columns

4 个答案:

答案 0 :(得分:3)

创建自定义单元格。在customCell做布局。子类UITableViewCell。 .h将

@interface CompanyCell : UITableViewCell
//declare lable imageViews etc
@end

.m将是

@implementation CompanyCell

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code for labels imageViews etc
        //add to contentview
        [self.contentView addSubview:imgV>];
    }
    return self;
}

在viewController.m中

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier=@"CellIdentifier";
    CustomCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if(cell==nil)
    {
               cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cell];
    }
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
   //access cell.imgV or labels and give data
    return cell;
}

答案 1 :(得分:1)

您应该制作自定义UITableViewCell xib,然后将xib用于UITableViewThis帖子应该会有所帮助。

修改

由于你不想创建一个xib,这会有点混乱;但您仍然可以通过编程方式创建UITableViewCell并以编程方式将subviews添加到该单元格。然后,在您的单元格准备就绪后,在cellForRowAtIndexPath方法中设置它。

答案 2 :(得分:0)

  1. 创建UICustomCell。
  2. 使用下图所示的组件。
  3. enter image description here

    背景中的所有这些线条都将其视为图像。并且,将它们添加为您的客户单元的背景。

答案 3 :(得分:0)

Yu可以使用此代码并动态添加您想要的任何内容。我只是向您展示示例代码。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *cellIdentifier = @"MyCellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                   reuseIdentifier:cellIdentifier]autorelease];
}

UIImage *image_profilepic = nil;
image_profilepic = [UIImage imageNamed:@"blank_image.png"];
cell.imageView.image = image_profilepic;

UIButton *Btnone = [[[ UIButton alloc]init]autorelease];
Btnone.frame = CGRectMake(105, 5.0f, 32.0f, 32.0f);
[cell addSubview:Btnone];

UIButton *btntwo = [[[ UIButton alloc]init]autorelease];
btntwo.frame = CGRectMake(155.0f, 5.0f, 32.0f, 32.0f);
[cell addSubview:btntwo];

UIButton *btnthree = [[[ UIButton alloc]init]autorelease];
btnthree.frame = CGRectMake(205.0f, 5.0f, 32.0f, 32.0f);
[cell addSubview:btnthree];

NSString *name = @"Name";

cell.textLabel.text = name;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
//        CFRelease(aSource);
return cell;
}