Темный фон на изображениях по умолчанию UITableViewCell - PullRequest
0 голосов
/ 15 декабря 2011

У меня есть UITableView в моем проекте со строками, инициализируемыми как UITableViewCell по умолчанию (файл владельца является делегатом и источником данных для таблицы):

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

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [aTableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }
    [cell setSelectionStyle:UITableViewCellSelectionStyleGray];
    switch (indexPath.row) {
        case 0:
            cell.imageView.image = [UIImage imageNamed:@"icon_facebook.png"];
            cell.textLabel.text = kShareFacebook;
            break;
        case 1:
            cell.imageView.image = [UIImage imageNamed:@"icon_twitter.png"];
            cell.textLabel.text = kShareTwitter;
            break;
        case 2:
            cell.imageView.image = [UIImage imageNamed:@"icon_clipboard.png"];
            cell.textLabel.text = kShareClipboard;
            break;
        default:
            break;

    }

    return cell;
}

Это все работает нормально, однако, когда таблицаизображения отображаются на более темном фоне, а вдоль правого края строк есть более темное поле, как можно видеть на этом изображении: screenshot Я пытался очистить этот фон с помощью комбинации некоторых /все:

[cell setBackgroundColor:[UIColor whiteColor]];
[cell.imageView setBackgroundColor:[UIColor whiteColor]];
[cell setIndentationLevel:1];
[cell setOpaque:YES];

однако это немного помогло.Как избавиться от темного фона, чтобы вся ячейка появилась на белом фоне?

1 Ответ

0 голосов
/ 24 февраля 2012

Это, должно быть, одна из iOS или, скорее всего, неудач XCode.Я удалил таблицу в IB и удалил соответствующий код в моем .m файле.Затем я сохранил и закрыл проект и вышел из XCode.

После открытия XCode и проекта я снова открываю ViewController в IB, снова добавляю таблицу и снова настраиваю всех делегатов.Я добавил код, чтобы установить прозрачность фона всей таблицы (этого нельзя сделать с помощью IB, поэтому я поместил этот код в метод viewDidLoad).Затем я переписал метод cellForRowAtIndexPath (без копирования-вставки, просто набрал его снова - без проблем, в любом случае всего около 10 строк) и собрал проект.

Вот и все: таблица теперь отображается правильно,Я ненавижу тратить дни на некоторые глупые ошибки в инструментах разработки.

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