UITableViewCell не будет выделяться - PullRequest
4 голосов
/ 22 февраля 2012

По какой-то причине ни один из моих UITableViewCell не подсвечивается синим цветом. В IB у меня установлено выделение синим цветом, и у меня нет кода, который переопределяет IB.

Вы замечаете что-нибудь, что может быть причиной этого?

enter image description here

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    int showID = [[[singleton.programs objectAtIndex:indexPath.row]objectForKey:@"id"]intValue];
    //creates the url and loads the list of products
    //NSLog(@"showID: %d", showID);
    URLCreator * productsURL = [[URLCreator alloc] initStandard:@"getProgramProductsForList"];
    [productsURL addParam:@"id" stringValue:[NSString stringWithFormat:@"%d", showID]];
    WebManager *productsWM = [[WebManager alloc]init];
    [productsWM load:[productsURL finalURL] withSelector:@selector(parseProducts) object:[NSNumber numberWithInt:showID]];
}

В моей пользовательской ячейке в данный момент нет ничего, кроме `@ property / @ synthesize @, но здесь это так.

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
    }
    return self;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

Ответы [ 7 ]

4 голосов
/ 17 марта 2012

Ваш случай достаточно прост, чтобы наилучшим способом его решения, вероятно, является создание минимального примера, который работает должным образом (ячейка табличного представления по умолчанию с выделенным синим цветом) и добавляется к нему шаг за шагом (или в шагах двоичного поиска), пока он не сломается ,

Если минимальный код ломается после некоторого добавления, то вы точно определили проблему. Если это не так, и вы действительно достигли того же, что, по-видимому, используете в своем проекте, сравните и посмотрите, в чем разница, которую вы не заметили.

4 голосов
/ 23 февраля 2012

Вы пробовали это ...?

[cell setSelectionStyle:UITableViewCellSelectionStyleBlue];
1 голос
/ 14 марта 2012

Может быть мимолетным ответом, но просто для того, чтобы охватить простые вещи, вы убедились, что присвоили ячейку табличного представления своему пользовательскому подклассу UITableViewCell?

Custom Class assignment

1 голос
/ 22 февраля 2012

Вот ошибка, которую я сделал в прошлом. Ваш UITableView находится в режиме редактирования? Если да, включен ли выбор во время редактирования?

По умолчанию он не включен. В Интерфейсном Разработчике выберите UITableView и найдите свойство «Редактирование» в «Табличном представлении» на панели «Утилиты». Убедитесь, что выбран «Единый выбор во время редактирования».

Также убедитесь, что «Единый выбор» включен в общем.

0 голосов
/ 20 марта 2012

Вы сказали, что этого не происходит в новых проектах. Вы пытались создать новую раскадровку в своем проекте, чтобы посмотреть, будет ли это иметь какой-нибудь эффект?

Файл .storyboard - это просто файл XML, и, возможно, в файле XML есть что-то плохое ... не мешало бы попробовать.

0 голосов
/ 19 марта 2012

Нет, я удалил все подпредставления.Я даже запустил новый TableViewController с кнопкой, которая переключается прямо с домашнего экрана только для тестирования.Все еще нет.Это странно.Единственный раз, когда я могу получить отбор на работу, это совершенно новый проект.- Джеймс вчера

Как вы упоминаете, это происходит только в этом проекте, а не при запуске нового проекта вы пытались очистить проект в Xcode (Product> Clean) и удалить свое приложение из симулятора?Беги снова.Решает много странных проблем.

0 голосов
/ 14 марта 2012

Занимали ли ваши подпредставления ячейки все границы ячейки и были полностью непрозрачными? Если это так, даже уже выделенный синим цветом, никакого эффекта не будет видно.

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