2014-09-25 8 views
0

Могу ли я отрегулировать высоту линии сепаратора UITableview? Я добавляю UIView в ячейку для использования в качестве разделительной линии, и это хорошо, проблема в том, что когда я сдвигаю ячейку, чтобы удалить ее, кнопка удаления - это проблема, ее перекрытие линии разделителя или я могу настроить высоту кнопки удаления?Высота линии разделителя UItableview

separator linedelete

enter image description here

ответ

0

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

0

В вас TableViewCell layoutSubviews метода написать это:

if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) { 
    UIView *deleteButtonView = (UIView *)[subview.subviews objectAtIndex:0]; 
    CGRect newf = deleteButtonView.frame; 
    newf.origin.x = 250; 
    newf.origin.y = 47; 
    newf.size.width = 30; 
    newf.size.height = 50; 

    deleteButtonView.frame = newf; 
} 

Надеется, что это помогает .. :)

+0

Я попробую это позже :) – MaappeaL

+0

Я не работал для меня. – MaappeaL

+0

UITableViewCellDeleteConfirmationControl отсутствует в ios 11 –

1

код вставил в Рашад довольно старый (найдено here) и не похож на работу для прошивки 7 или 8. прошивки

Вот обновленный код, который работает:

-(void)layoutSubviews { 

    UIView *deleteButtonView = nil; 

    for (UIView *subview in self.subviews) { 
     // find the delete view in iOS 8 
     if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"]){ 
      deleteButtonView = subview; 
      break; 
     } 

     // find the delete view in iOS 7 
     if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellScrollView"]) { 
      for (UIView *secondSubview in [subview subviews]) { 
       if ([NSStringFromClass([secondSubview class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"]) { 
        deleteButtonView = secondSubview; 
        break; 
       } 
      } 
     } 
    } 

    int heightOffset = 5; 
    CGRect buttonFrame = deleteButtonView.frame; 
    buttonFrame.origin.y = heightOffset; 
    buttonFrame.size.height = self.frame.size.height-2*heightOffset; 
    deleteButtonView.frame = buttonFrame; 
} 
Смежные вопросы