Как я могу изменить высоту UITableViewRowAction в Swift? - PullRequest
0 голосов
/ 17 ноября 2018

enter image description here

У меня есть ячейка, где нижний 10px ish используется в качестве разделителя. Я хочу, чтобы UITableViewRowAction была такой же высоты, как и внутреннее представление без разделителя, но Swift, похоже, не поддерживает такую ​​функциональность.

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 17 ноября 2018

Вы можете изменить размер кнопки Удалить на

 -(void)didTransitionToState:(UITableViewCellStateMask)state
 {
       [super didTransitionToState:state];
       if ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask)
       {

          UIView *deleteButton = [self deleteButtonSubview:self];
          if (deleteButton)
          {
             CGRect frame = deleteButton.frame;
             frame.origin.y = 4;
             frame.size.height = frame.size.height-8;
             /*
             if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
             {
                //use your desired size for iPad
                frame.size.height = 62; 
                frame.size.width = 80;

             }
             else
             {
                //use your desired size for iPhone
                frame.size.height = 52; 
                frame.size.width = 80;

             }
              */
             deleteButton.frame = frame;

         }
     }
}

- (UIView *)deleteButtonSubview:(UIView *)view
{
    if ([NSStringFromClass([view class]) rangeOfString:@"Delete"].location != NSNotFound) {
        return view;
    }
    for (UIView *subview in view.subviews) {
        UIView *deleteButton = [self deleteButtonSubview:subview];
        [deleteButton setBackgroundColor:[UIColor whiteColor]];
        if (deleteButton) {

            return deleteButton;
        }
    }
    return nil;
}
...