如何将自定义uitableviewcell添加到用ib创建的uitableview?

时间:2012-09-03 13:16:27

标签: iphone uitableview

我用IB创建了uitableview。我设计了自己的uitableviewcell(它是uiatbleviewcell的子类,并有自己的xib文件)。如何将其添加到我的uitableview ??

我试过

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath 
*)indexPath {

static NSString *CellIdentifier = @"myCell";
myCell *cell = (myCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    NSArray *xib = [[NSBundle mainBundle] loadNibNamed:@"myCell" owner:self options:nil];
    cell = [xib objectAtIndex:0];
}
// Configure the cell...
cell.title.text = @"tableCell";
cell.preview.text = @"preview";
cell.postedTime.text = @"right now";


return cell;
}

它的工作原理不正确。我不能在这里包含图像,因为我的代表是10(上传图像需要最少11个)。所以这里有链接显示我的不良结果。这就是我想要的:http://img708.imageshack.us/img708/5082/20120903153930.png

这就是我所拥有的: http://img836.imageshack.us/img836/5844/20120903154405.png

3 个答案:

答案 0 :(得分:1)

你需要使用方法

更改每个单元格的默认高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 62.0f; // enter value if u know or test
}
希望它有所帮助。快乐的编码:)

答案 1 :(得分:1)

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
 {
if(btnTag == 1)
    return [array1 count];

if(btnTag == 2)
    return [array2 count];
 return YES;

} 


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
 return 62;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{

static NSString *CellIdentifier = @"Cell";

CustomCell *cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

if(btnTag == 1)
  {
    cell.teamLabel.text = @"i am 'A'cell";
  }
if(btnTag == 2)
  {  
    cell.teamLabel.text = @"i am 'B'cell";
  }
return cell;
}

答案 2 :(得分:0)

您不必在xib文件中添加这样的内容。根据您所做的工作,您在另一个UITableViewCell上添加了UITableView。你真的想创建一个自定义单元吗?您只需将任何数据添加到

中的UITableView即可

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 然后相应地添加单元格,如UILabels,UIImageViews等。

 cell = [tableView dequeueReusableCellWithIdentifier:nil];
    if (cell == nil) 
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nil ];
    }        
    UIButton *Imagebutton = [[UIButton alloc]initWithFrame:CGRectMake(10, 5, 30, 30)];
    UIImage *img = [UIImage imageNamed:@"Lock Unlock.png"];
    [Imagebutton setImage:img forState:UIControlStateNormal];
    [Imagebutton addTarget:self action:@selector(aMethod1:) forControlEvents:UIControlEventTouchDown];
    [cell.contentView addSubview:Imagebutton];
    UILabel *MealsforLabel = [[UILabel alloc]initWithFrame:CGRectMake(50, 10, 140, 30)];
    MealsforLabel.backgroundColor = [UIColor clearColor];
    [cell.contentView addSubview:MealsforLabel];
    cell.textLabel.textColor = [UIColor blackColor];
    cell.textLabel.textColor=[UIColor whiteColor];
    cell.selectionStyle = UITableViewCellSelectionStyleGray;
    return cell;

如上所述。