UITableView некоторые ячейки не видны - PullRequest
0 голосов
/ 13 июня 2018

Я столкнулся со странной проблемой с UITableViews.Некоторые ячейки в моей таблице расположены в крайнем правом углу экрана, что делает их нечитаемыми, за исключением первых нескольких символов.Когда я прокручиваю таблицу, измененные клетки меняются.Я добавил пару скриншотов, чтобы лучше понять, с чем я имею дело.

Некоторые виды невидимы

Различные виды невидимы

Я использовал следующий код для заполнения таблицы:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"NewCell";
    NewProductCell *cell = [tableView
                           dequeueReusableCellWithIdentifier:CellIdentifier
                        forIndexPath:indexPath];

    long row = [indexPath row];

    cell.medicineLabel.text = [_medicineArray objectAtIndex:row];
    if([[_medicineArray objectAtIndex:row]  isEqual: @"Alfabetisch"]||    [[_medicineArray objectAtIndex:row]  isEqual: @"Eerder besteld"]){
        [cell setUserInteractionEnabled:NO];
    }
    cell.accessoryType = UITableViewCellAccessoryNone;
    return cell;
}  

_medicinceArray - это список строк, извлеченных из веб-сервера, я убедился, что это не является источником проблемы.

Заранее спасибо.

1 Ответ

0 голосов
/ 10 июля 2018

Я думаю, что-то не так с состоянием твоей клетки.Особенно, когда клетки не работают СЛУЧАЙНО.

Обратите внимание, что клетки можно использовать повторно.Из вашего кода, я думаю, вы хотите, чтобы только ячейки со значением @ "Alfabetisch" или @ "Eerder besteld" были отключены, другие являются интерактивными.

Но что на самом деле происходит?

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

Так что по вашему вопросу это также может быть причиной странного поведения ваших невидимых ярлыков.

Вы должны проверить коды вне метода (любой код для изменения ячеек или меток) или автоматическое расположение метки в ячейке в раскадровке.

...