Вопрос по uibutton, xcode, iphone, customization – Настройте кнопку удаления в UITableView

7

У меня есть функционал дляРазмах удалить TableViewCell, Я хочу настроитьудалять кнопка.

Возможно ли это, и как получить доступ кудалять кнопка?

@beryllium, так что вы посоветуете создать собственную ячейку? Но я уже построил камеру, яЯ предпочел бы установить распознаватель жестов, а затем сделать его как пользовательскую ячейку. Spire
Просто посмотрите на мой ответ, но убедитесь, что вам нужна пользовательская ячейка @Spire Manohar Perepa
Вы хотите действие для кнопки удаления или вам нужно изменить кнопку удаления Manohar Perepa
@Spire, как ты настраивал кнопку удаления. Поделитесь своим ответом. Ganesh Guturi
Попробуйте этоstackoverflow.com/q/8603431/194544 stackoverflow.com/q/1615469/194544 beryllium

Ваш Ответ

3   ответа
-2

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
  if (editingStyle == UITableViewCellEditingStyleDelete)
   {
    //   Your Code
    }
}
Хорошо, а как вызвать кнопку Удалить здесь, в// Your Code раздел? Как я могу изменить это в?UIButtonTypeCustom Spire
Это функциональность inBuilt для Table, поэтому вы можете делать все, что захотите, например, удалить значение из массива, например, для: - [idArray removeObjectAtIndex: indexPath.row]; где idArray - это NSMutableArray, имеющий идентификаторы. В конце просто перезагрузите вашу таблицу, вызвав [tableView reloaddata]; где tableView - ваша таблицаимя Kaushal Bisht
Я отредактировал свой комментарий Spire
12

вам нужно только добавить метод titleForDeleteConfirmationButtonForRowAtIndexPath.

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
    return @"NewButtonName";
}
Это'отличная работа для меня :) спасибо! slboat
6

Этот метод будет вызываться, когда пользователь выполняет действие смахивания

Просто поместите это в ваш CustomCell

- (void)willTransitionToState:(UITableViewCellStateMask)state
    {
        [super willTransitionToState:state];
        if ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask)
        {
            for (UIView *subview in self.subviews)
            {
                if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"])
                {
                    UIImageView *deleteBtn = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 64, 33)];
                    [deleteBtn setImage:[UIImage imageNamed:@"arrow_left_s11.png"]];
                    [[subview.subviews objectAtIndex:0] addSubview:deleteBtn];
                }
            }
        }
    }

Вы не должны пытаться это, вы не должны менять Appleс представлениями по умолчанию.

это ясно написано в вопросе Spire
Вы не должны пытаться это, вы не должны менять Appleс представлениями по умолчанию. Ты это видел ? Manohar Perepa
Я нашел другой способ удаления, но спасибо за ваши усилия. Я узнаю больше об этом, так как мне это понадобится для других проектов. СпасибоВо-первых, я не использую пользовательские ячейки, которыеВот почему мне нужна информация о том, как изменить внешний вид DELETE, чтобы он выглядел как кнопка Nudge Spire
это десяткиработает в ios 7 Kiddo
Неверно, вы можете делать все виды пользовательских хаков UI, и если они добавятся к продукту, Apple примет их. Мы делаем пользовательский интерфейс все время. Andres Canella

Похожие вопросы