UITableViewCell Z-Order

У меня есть uitableview, который содержит ячейки. Я пытаюсь понять, как настроить порядок z ячеек. Я пытаюсь сделать это: введите описание изображения здесь

Но когда я загружаю tableview, я получаю следующее: введите описание изображения здесь

Я уже пробовал [tableView sendSubViewToBack:cell] . Также, когда я прокручиваю нижнюю часть, а затем вернусь к вершине, результат будет похож на изображение 1, но когда я прокручиваю вниз, результат похож на изображение 2. Я ценю вашу помощь.

  static NSString *CellIdentifier = @"Cell"; NSString *row = [NSString stringWithFormat:@"%li",(long)indexPath.row]; GetMoreTableViewCell *cell = [_chapters dequeueReusableCellWithIdentifier:CellIdentifier]; NSMutableDictionary *deckCategory = [[_data valueForKey:key] valueForKey:row]; if (cell == nil) { cell = [[GetMoreTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } [tableView bringSubviewToFront:cell]; if([[[_data valueForKey:key] valueForKey:[NSString stringWithFormat:@"%i",indexPath.row]] valueForKey:@"isDefault"] == [NSNumber numberWithBool:YES]) { cell.addButton.hidden = YES; } cell.ttitle.text = [[[_data valueForKey:key] valueForKey:row] valueForKey:@"Name"]; cell.backgroundColor = [UIColor clearColor]; cell.selectionStyle = UITableViewCellSelectionStyleNone; CALayer * l = [cell.cellImage layer]; [l setMasksToBounds:YES]; [l setCornerRadius:10.0]; CALayer * b = [cell.cellBackground layer]; [b setMasksToBounds:YES]; [b setCornerRadius:19.0]; cell.cellImage.image = [UIImage imageNamed:[deckCategory valueForKey:@"Image"]]; if(indexPath.row == 0) { cell.cellBackground.image = [UIImage imageNamed:@"card_green.png"]; } else if(indexPath.row == 1) { cell.cellBackground.image = [UIImage imageNamed:@"card_orange.png"]; } else if(indexPath.row == 2) { cell.cellBackground.image = [UIImage imageNamed:@"card_red.png"]; } return cell; 

Он должен работать, изменяя zPosition слоя ячейки следующим образом: cell.layer.zPosition = CGFloat(indexPath.row) в tableView:cellForRowAtIndexPath: dataSource. И не забудьте установить для свойства clipsToBound значение false для ячейки.

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

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

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

  • у рамки не было CFBundleIdentifier в Info.plist с использованием Swift и Cocoapods
  • Максимальное количество файлов в ipa или apk
  • Динамически отлаживает переменные в xCode?
  • Как фильтровать уведомления ios push до их появления
  • IOS: Sqlite. Быстрый поиск записи
  • остановить YouTube видео, открывающее приложение YouTube в xcode / cordova 1.6.1
  • Нарисуйте линии с помощью набора Sprite и быстро
  • Как создать более чистый UIViewContoller?
  • Отсутствует выход в области отладки
  • Как сделать UITextField полной ширины в Swift
  • Ошибка чтения памяти. Как отлаживать?
  • Давайте будем гением компьютера.