Какой-либо хороший способ расположить значок UITableViewCellEditingStyleDelete в сгруппированном tableview?

В макете XML для вашего индикатора выполнения установите android:layout_gravity (вместо android:gravity) значение "center"

android:layout_gravity = "center"
1
задан Zteeth 17 June 2009 в 08:35
поделиться

1 ответ

Отрывок из сообщения в блоге Мэтта Галлахера раскрывает метод

Это исходный код для имитации поведения, которое вам НЕ нужно:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    [self setNeedsLayout];
}

- (void)layoutSubviews
{
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationBeginsFromCurrentState:YES];

    [super layoutSubviews];

    if (((UITableView *)self.superview).isEditing)
    {

        CGRect contentFrame = self.contentView.frame;
        contentFrame.origin.x = EDITING_HORIZONTAL_OFFSET;
        self.contentView.frame = contentFrame;
    }
    else
    {
        CGRect contentFrame = self.contentView.frame;
        contentFrame.origin.x = 0;
        self.contentView.frame = contentFrame;
    }

    [UIView commitAnimations];
}

Итак если мы внесем изменения, мы сможем заставить его делать то, что вы хотите:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    [self setNeedsLayout];
}

- (void)layoutSubviews
{
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationBeginsFromCurrentState:YES];

    [super layoutSubviews];

    if (((UITableView *)self.superview).isEditing)
    {
        //don't resize and and move your frame here

        CGRect contentFrame = self.contentView.frame;
        contentFrame.origin.x = 0;
        self.contentView.frame = contentFrame;
    }
    else
    {
        CGRect contentFrame = self.contentView.frame;
        contentFrame.origin.x = 0;
        self.contentView.frame = contentFrame;
    }

    [UIView commitAnimations];
}

You '

2
ответ дан 3 September 2019 в 01:23
поделиться
Другие вопросы по тегам:

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