0

カスタムセルの背景に画像を配置する方法を知りたい

私が使用しているコードはこれですが、これはすべてのテーブルを同じ画像に設定します。メッセージの所有者が誰であるかに応じて、各セルに独自の背景を持たせたいです。

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

    UITableViewCell *cell = (UITableViewCell *)[self.messageList dequeueReusableCellWithIdentifier:@"ChatListItem"];
    if (cell == nil) {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ChatListItem" owner:self options:nil];
        cell = (UITableViewCell *)[nib objectAtIndex:0];
    }

    NSDictionary *itemAtIndex = (NSDictionary *)[messages objectAtIndex:indexPath.row];
    UILabel *textLabel = (UILabel *)[cell viewWithTag:1];
    textLabel.text = [itemAtIndex objectForKey:@"text"];
    UILabel *userLabel = (UILabel *)[cell viewWithTag:2];
    userLabel.text = [itemAtIndex objectForKey:@"user"];

    if(usernameText=userLabel){
        UIImageView* img = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"chat2@2x.png"]];
        [cell setBackgroundView:img];
        [img release];        
    }
    else{
        UIImageView* img = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"chat1@2x.png"]];
        [cell setBackgroundView:img];
        [img release];

    }

    return cell;
}
4

2 に答える 2

3

この行は私にはあまりよく見えません:

if (usernameText=userLabel)

おそらく次のようになります。

if ([usernameText isEqualToString:userLabel.text])
于 2012-10-25T03:31:15.350 に答える
0

これを試して、

tableView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"chat1@2x.png"]];

または、

cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@ "chat1@2x.png"]];

于 2012-10-25T03:50:19.797 に答える