Заголовок усеченного раздела UITableViewController - PullRequest
0 голосов
/ 30 апреля 2010

У меня есть приложение для iPad с UITableViewController. Я устанавливаю заголовки для разделов таблицы, используя

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section

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

Кто-нибудь когда-либо испытывал это?

1 Ответ

5 голосов
/ 31 августа 2010

Убедитесь, что вы возвращаете nil в titleForHeaderInSection для разделов, в которых не нужен заголовок вместо @"".

. По какой-то причинеiPad использует длину пустой строки для длины текста заголовков при прокрутке, а затем не перерисовывает заголовок (в то время как на iPhone это делает).Возвращение nil для разделов, в которых заголовок не нужен, приводит к желаемому поведению как на iPhone, так и на iPad.

Например, код ниже правильно отображает заголовки заголовков:

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
    switch (section) {
        case NUM_SECTIONS-2:
            return @"Second to last";
            break;
        case NUM_SECTIONS-1:
            return @"last";
            break;
        default:
            return nil;
            break;
    }
}

в то время как код ниже показывает «...» при быстрой прокрутке мимо заголовков:

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
    switch (section) {
        case NUM_SECTIONS-2:
            return @"Second to last";
            break;
        case NUM_SECTIONS-1:
            return @"last";
            break;
        default:
            return @"";
            break;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...