Son Nguyen
Son Nguyen

Reputation: 3491

how to set repeating-background image to UITableCell

When I set repeating background image to a UITableView by using the following code is ok:

tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg.png"]];

but when I use it to set repeating-background image to a UITableViewCell by following code, nothing happen, I don't know why, I also cannot set background color to this cell too.

cell.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg.png"]];

Is there anyone know the way to so this? please help me!

Upvotes: 4

Views: 5032

Answers (2)

Kolin Krewinkel
Kolin Krewinkel

Reputation: 1386

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

which would go inside this code block:

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

TableViewCell *cell = (TableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
        cell = [[[RecipeTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cell.png"]];

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
        cell.selectedBackgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cell-on.png"]];
    }    
// Configure cell

return cell;
}

You can also see how to set the selected image in inside there too: selectedBackgroundView.

cell.selectedBackgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cell-pressed.png"]];

I'm unsure about repeating, but I'm pretty sure backgroundView can have contentMode set on it.

Upvotes: 9

Son Nguyen
Son Nguyen

Reputation: 3491

Oh, it is more easier than I think. I just need to set background image by following code:

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

and the whole cell background view is automatically filled with this background image. :)

Upvotes: 1

Related Questions