2013-09-23 4 views
0

Снимок экрана ниже показывает одну ячейку таблицы в режиме редактирования после прокрутки влево на строке. В режиме редактирования я могу удерживать ячейку и снова перемещаться влево, что показывает это пустое пространство (эффект отскока, когда я отпускаю). Я устанавливаю фоновое изображение каждой ячейки следующим образом:Предотвращение перетаскивания ячейки влево в режиме редактирования вида таблицы iOS7

cell.backgroundView = [[UIImageView alloc] initWithImage: [UIImage imageNamed: @ "CellBG.jpg"]];

У меня есть 2 вопроса.

  1. Возможно ли предотвратить это дополнительное перетаскивание, чтобы эта белая область никогда не была видна? Хотелось бы такое же поведение, как приложение погоды iOS7, например.
  2. Кроме того, любая идея, почему есть тонкая белая линия под кнопкой удаления?

Благодаря

Screenshot

ответ

2
  1. Можно ли предотвратить это дополнительное перетаскиванием так это белая область никогда не будет видно?

Да. Поместите изображение на фон UITableView. Не в камере. Потому что, если вы поместите фон изображения в ячейку и когда вы горизонтально меняете ячейку для удаления, эта ячейка будет перемещаться. То есть фон изображения также будет перемещаться. Но если вы положите его на UITableView, он не будет перемещаться с помощью свопа. Не забудьте установить цвет фона UITableView и UITableViewCell, чтобы быть четким цветом.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ReuseIdentifier"]; 
    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cellBackground.png"]]; 
    imageView.frame = CGRectMake(0, kCellHeight*indexPath.row, 320, cell.frame.size.height); 
    [tableView addSubview:imageView]; 
    [tableView sendSubviewToBack:imageView]; 
    return cell; 
} 

2.Also, любая идея, почему есть тонкая белая линия под кнопкой удаления?

Я думаю, что это небольшая ошибка Apple. Как вы также можете найти его в приложении погоды. Так что неважно.

+0

Спасибо за ответ. В моем представлении таблицы действительно потребуется, чтобы каждая ячейка имела другое фоновое изображение, основанное на пользовательском вводе при создании данных для таблицы. Любые другие предложения? – Tim

+0

@Tim Вы можете сделать это, применив различное фоновое изображение в разных ячейках. Попробуйте мой код. Это будет работать. – sunkehappy

+0

А, я понял. Прекрасно работает! Бесконечно благодарен! – Tim

Смежные вопросы