2012-07-02 36 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; 
} 
相關問題