2012-07-02 37 views
0

我想以编程方式在iPhone的行右侧的tableview中的每一行添加标签。 任何人都可以帮助我吗?如何在iphone中的tableview的每一行添加标签iphone

+0

表已建立并显示你想要在每个单元格的右侧添加标签以响应用户事件? – gamozzii

+2

您可以在cellForRowAtIndexPath中创建标签。您遇到的问题是什么? –

回答

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; 
} 
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; 

} 
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; 
0

在你的cellForRowAtIndexPath:方法: -

你的意思是你想创建表的初始界面过程中添加的标签,或之后
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *[email protected]"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; 
} 
相关问题