Как я могу остановить растяжение моего пользовательского UITableViewCell backgroundImage? - PullRequest
2 голосов
/ 20 апреля 2011

Если я создаю фоновое изображение для своей ячейки таблицы в методе init моего подкласса UITableViewCell, изображение получается именно так, как я его нарисовал, и tableView:heightForRowAtIndexPath: просто добавляет пробел вокруг него.

Ноесли вместо этого я создаю фоновое изображение в методе tableView:cellForRowAtIndexPath: моего tableView и задаю его, изменение высоты ячейки теперь будет растягивать изображение.

Мне нужно создать фоновые представления в методе cellForRowAtIndexPath, так какизменения фона для разных строк.Как я могу сделать размер моего изображения снова фиксированным?

Ответы [ 2 ]

5 голосов
/ 20 апреля 2011

Вы пытались установить для contentMode значение UIViewContentModeCenter для backgroundView ячейки?

положи сюда

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
     cell.backgroundView.contentMode = UIViewContentModeCenter;
}
0 голосов
/ 20 апреля 2011

Вы можете создать что-то с:

UIView *cellBackView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
<insert image>;
cell.backgroundView = cellBackView;

Я предполагаю, что backgroundView автоматически растягивается, но вы можете убедиться, что изображение не растягивается на этом виде, установив ширину и высоту. Таким образом, вы можете делать все что угодно с этим видом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...