Подтвердить что ты не робот

Нижний колонтитул UITableView, остановка с плавающей над контентом

Я хочу, чтобы мой UITableView Footer переставал плавать над моим контентом, как и активность по умолчанию. Я хочу, чтобы мой нижний колонтитул был... ну.. нижний колонтитул. Всегда последний вид, который будет отображаться в конце моей таблицы.:)

То же самое и с заголовком.

Есть ли какой-либо простой способ отключить его от всплытия над табличным представлением при прокрутке?

Спасибо всем, я не мог найти ответ в другом месте.

4b9b3361

Ответ 1

Хорошо, получается, что если вы установите нижний колонтитул через blahblahtableView.tableFooterView = someview;, нижний колонтитул не будет прокручиваться вместе с таблицей.

Однако, если вы создаете нижний колонтитул с помощью viewForFooterInSection, он будет следовать вашему взгляду и вставлять его в нижнюю часть экрана.

Не знаю, почему я не мог найти этот ответ раньше. Извините, все:)

Ответ 2

У вас есть два типа нижнего колонтитула: один - нижний колонтитул , а второй - нижний колонтитул таблицы.

Нижний колонтитул отображается ниже каждого раздела. С другой стороны, нижний колонтитул tableview отображается только один раз на конце таблицы.

Нельзя использовать один клик для отключения плавающего нижнего колонтитула раздела.

Если вы хотите, чтобы "нижний колонтитул" всегда отображался как последняя ячейка его раздела и фиксируется в нижней части таблицы, вам нужно добавить дополнительную ячейку в свой раздел и всегда рассматривать ее как последнюю из ваших раздел.

Если у вас только 1 раздел в вашем представлении таблицы, вы можете использовать нижний колонтитул tableview для вашего нижнего колонтитула.

Ответ 3

- (id)init {
    self = [self initWithStyle:UITableViewStyleGrouped]; //Default is UITableViewStylePlain
    return self;
}

Ответ 4

self.YOUR_TABLE_VIEW.tableFooterView = YOUR_FOOTER_VIEW;

Ответ 5

Если я правильно задал вопрос, вы в основном хотите исправить нижний колонтитул на месте и прокрутить все остальное? Если это так, вы можете просто иметь заголовок и нижний колонтитул как отдельные виды из таблицы, которые лежат над табличным представлением в иерархии представлений, поэтому они охватывают содержимое таблицы.

Если вы хотите, чтобы они отскакивали (при прокрутке выше или ниже содержимого) с помощью tableview, вам нужно отслеживать метод tableview (tableview - подкласс scrollview, поэтому он работает) - (void)scrollViewDidScroll: и вычисляет новую позицию либо в нижнем колонтитуле, либо в заголовке.

Надеюсь, вы получите мой ответ, я сделал что-то похожее на это, и он сработал (я хотел, чтобы "Release to update" выглядел как нечто похожее на таблицу)

Ответ 6

У меня была аналогичная проблема. Я использовал только нижний колонтитул, чтобы указать количество клеток в таблице внизу. Но он не прокручивался с таблицей cels, как я ожидал (ее всегда было видно сверху стола, пока я не дойду до дна, где он отскакивает).

Моим решением для этого было создать 2 раздела, один из которых содержит ячейки таблицы и еще один пустой, но с заголовком. Этот заголовок будет показывать счетчик и будет вести себя так, как я хотел (всегда оставаться внизу таблицы, а не накладывать ячейки).

Рекомендуемое решение по добавлению фиктивной ячейки внизу не было полезно в моем случае, при этом она была бы граничена с проводной границей таблицы, и я этого не хотел.

Надеюсь, что это поможет

Ответ 7

Оформить мой ответ здесь, fooobar.com/questions/95570/.... Код делает именно то, что вы описали в своем вопросе

Ответ 8

#pragma mark - для этого есть две возможности -

  • Использовать делегат UITableView

    Эффект

    : плавающий нижний колонтитул в представлении таблицы

-(CGFloat)tableView:(UITableView *)tableView
heightForFooterInSection:(NSInteger)section{
    return HEIGHT;
}
-(UIView*)tableView:(UITableView *)tableView
viewForFooterInSection:(NSInteger)section{
    return FOOTERVIEW
}
  1. Использование setter представления таблицы

    Эффект

    : прикреплен в нижней части последней ячейки

theTableView.tableFooterView = YOURFOOTERVIEW

// Do not set this delegate
// or you would get a extra blank at the bottom of the table

//  -(CGFloat)tableView:(UITableView *)tableView
//  heightForFooterInSection:(NSInteger)section{
//    return HEIGHT;
//  }