#iphone #cocoa-touch #ios4 #uitableview
#iPhone #cocoa-touch #ios4 #uitableview
Вопрос:
В принципе, у меня есть полное поведение по умолчанию, которое выполняется с заголовками разделов. Я просто хотел бы, чтобы пользователь мог прокручивать заголовок ПОСЛЕДНЕГО раздела до самого верха.
Например, у вас есть таблица, в которой строки высотой 44 пикселя. Высота таблицы ~ 500 пикселей. Если в ПОСЛЕДНЕМ разделе всего 2 записи, вы не сможете прокрутить этот раздел до самого верха таблицы, тем самым оставив заголовок предыдущего раздела вверху, а заголовок последнего раздела каким-то образом оказался в середине экрана, открывая последние 2 строки последнего раздела.
Я бы хотел, чтобы пользователь мог прокручивать заголовок последнего раздела до самого верха, оставляя пустые строки (при необходимости) для нижней половины таблицы, если последний раздел содержит всего несколько строк.
Возможно ли это вообще?
Ответ №1:
Да, это так………
что вам нужно сделать, это просто установить contentInset
для табличного представления….
[yourTableView setContentInset:UIUIEdgeInsetsMake(0,0,yourScrollableHeight,0)];
Обновление*****
Вот процедура, позволяющая узнать ячейку в последнем разделе …( cellForRowAtIndexPath
код)
int numberOfSections = [yourTableView numberOfSections];
if(it's last section... [indexPath.section == numberOfSections-1])
{
int numberOfRowsInLastSection = [yourTableView numberOfRowsInSection:indexPath.section];
//default height of row is .. 44px...
// now I hope you can calculate this......
//and here use above line of code for setting scroll behavior...
}
Спасибо,
Комментарии:
1. это вроде работает. Похоже, что для использования этого мне нужно точно знать, на сколько строк мне не хватает полной высоты таблицы — что является проблемой, когда иногда в последнем разделе может быть только 2 строки, или иногда в нем может быть только 1 строка … или 3 и т.д.
2. вы можете получить необходимую информацию из приведенного выше обновленного кода … спасибо