0

我想以编程方式将标签添加到 iphone 行右侧的 tableview 中的每一行。谁能帮我?

4

4 回答 4

1
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
UILabel* lbl = [[UILabel alloc] initWithFrame:CGRectMake(x, y, w, h)];
    lbl.font = [UIFont boldSystemFontOfSize:17.0];
    lbl.text = [self.arrRows objectAtIndex:indexPath.row];
    [cell.contentView addSubview:lbl];
    [lbl release];
return cell;
于 2012-07-02T05:34:35.923 回答
0

在您的cellForRowAtIndexPath:方法中:-

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier=@"Cell";
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
    {
        //set reuseIdentifier:nil for avoid label overlapping
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
    }

    //make your label as according to you
    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)];
    label.backgroundColor = [UIColor redColor];

    // add label content view of cell
    [cell.contentView addSubview:label];

    return cell;
}
于 2012-07-02T05:37:05.543 回答
0

你可以像这样实现它:

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

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }

    UILabel *lblText = [[UILabel alloc] initWithFrame:CGRectMake(200, 3, 100, 15)]; // For right alignment
    lblText.text = [self.arrText objectAtIndex:indexPath.row];
    lblText.textColor = [UIColor blackColor];
    [cell addSubview:lblText];
    [lblText release];

    return cell;
}
于 2012-07-02T05:31:45.860 回答
0

我想你是在要求代码。尝试

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

static NSString *CellIdentifier = @"Cell";
UILabel *yourLabel = nil;

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
    yourLabel = [[UILabel alloc] initWithFrame:CGRect……];
    [yourLabel setTag:9999];
    [[cell contentView] addSubview:addressLabel];

} 

if (!yourLabel)
    yourLabel = (UILabel*)[cell viewWithTag:9999];

return cell;

}
于 2012-07-02T05:32:51.147 回答