Я использую изображение для отображения всего содержимого UITableViewCell, и он устанавливается с использованием свойства backgroundView.UITableViewCell backgroundView изменение размера изображения?
Моя проблема в том, что она всегда масштабируется, чтобы соответствовать ячейке. Есть ли способ отключить масштабирование в этом случае, поэтому я могу предоставить только 480-пиксельную версию, и она просто обрезается, когда ориентация - портрет?
Я делаю это так:
- (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];
}
UIImageView *bgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"menu.0%d.large.png", indexPath.row+1]]];
UIImageView *selectedBgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"menu.0%d.large.selected.png", indexPath.row+1]]];
cell.backgroundView = bgView;
cell.selectedBackgroundView = selectedBgView;
[bgView release];
[selectedBgView release];
return cell;
}
Я попытался с помощью двух версий изображений, чтобы переключаться между ними при изменении ориентации. Это пока работает, но у него есть недостаток, который вы всегда видите масштабирование во время обработки анимации.
Спасибо за вашу помощь
Arne
Спасибо за ваш ответ. Я был слишком поздно, чтобы проверить это, поскольку я уже нашел решение Джеймса, когда вернусь. Но спасибо за вашу помощь! – arnekolja
Спасибо! Я использовал 'UIViewContentModeTopLeft' в сочетании с' clipToBounds = YES', чтобы заставить его работать для моего проекта. – primehalo