TableView Footer прокручивается с таблицей - PullRequest
6 голосов
/ 08 мая 2011

Я только что добавил кнопку «Загрузить еще» в нижний колонтитул моего tableView, но нижний колонтитул всегда прокручивается вместе с таблицей.Стиль моего tableView - UITableViewStylePlain.

Пожалуйста, не могли бы вы сказать мне, где я ошибаюсь.

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
    UIView *footerView = nil;
    if(footerView == nil) {
        footerView  = [[[UIView alloc] init] autorelease];
        footerView.backgroundColor = [UIColor clearColor];
        UIButton *button = [[UIButton alloc] init];    
        button.layer.cornerRadius = 7;
        [button setFrame:CGRectMake(10, 3, 300, 44)];
        [button setTitle:@"Load 20 more" forState:UIControlStateNormal];
        [button.titleLabel setFont:[UIFont boldSystemFontOfSize:20]];
        [button setBackgroundColor:[UIColor whiteColor]];
        [button.titleLabel setTextColor:[UIColor blackColor]];
        [button addTarget:self action:@selector(load20More) forControlEvents:UIControlEventTouchUpInside];
        [footerView addSubview:button];
        [button release];
    }
    if ([songInfo count] > 20 && count < 100) {
        return footerView;
    }
    else
        return nil;
}

1 Ответ

24 голосов
/ 08 мая 2011

Прежде всего, tableView:viewForFooterInSection не определяет нижний колонтитул для таблицы, он определяет нижний колонтитул для раздела в таблице. Вы можете иметь несколько нижних колонтитулов в одной таблице. В случае, когда ваша таблица представляет собой только один раздел, использование этого метода будет функционально эквивалентно добавлению нижнего колонтитула таблицы, но НЕ подразумевается, что это нижний колонтитул таблицы. Гораздо эффективнее использовать фактический нижний колонтитул таблицы, если вы этого хотите, что можно сделать, просто назначив представление свойству UITableView tableFooterView.

Однако нижние колонтитулы таблиц (нижние колонтитулы разделов и нижние колонтитулы таблиц) созданы для прокрутки с вашей таблицей. Если вы хотите внедрить «нижний колонтитул», который прилипает к нижней части экрана и не прокручивается вместе со столом, лучше всего изменить размер вашего UITableView меньше, чтобы освободить место для вашего «нижнего колонтитула», и добавить новый вид, чтобы сидеть в месте, которое вы только что очистили для этого. Таким образом, он закрепится на месте, и прокручиваемая область в вашей таблице не будет пересекаться с «нижним колонтитулом».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...