ПРОГРАММИРОВАНИЕ ПОД IPHONE, IPAD OBJECTIVE-C часть 2

Более подробно о таблицах

В этом примере я более подробно опишу свойства таблиц. Мы создадим более сложную и красивую таблицу.

 

 

Чтобы не создавать новый проект, давайте воспользуемся кодом с предыдущего примера.

 

В первую очередь хочу начать с того места прошлого примера, где мы давали имена нашим группам (метод titleForHeaderInSection). У UITableView есть похожий метод heightForHeaderInSection. С помощью этого метода вы можете устанавливать высоту заголовка секции.

 

<code data-result="[object Object]">- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return 50.0f;
}</code>

 

Как вы уже заметили — нам предоставлен номер секции (section). Таким образом, добавив в этот метод условный оператор, вы можете установить высоту заголовка для каждой секции отдельно. В конкретно этом случае — я установил высоту заголовка 50 пикселей для всех секций.

 

Кроме заголовка у секций существует так называемый Footer. В который так же можно добавлять текст и которому можно устанавливать высоту. Отвечают за установку этих значений два следующих метода:

 

<code data-result="[object Object]">- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section {
    NSString *result = nil;
    NSString *curentKey = [[students allKeys] objectAtIndex:section];
    result = [NSString stringWithFormat:@"This is section for %@", curentKey];
    return result;
}

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    return 30.0f;
}</code>

 

В первом методе мы получаем имя секции, так же как получали его в методе titleForHeaderInSection, после чего формируем строку результата и возвращаем ее. Во втором методе мы просто возвращаем высоту нашего подвала.

 

Кроме перечисленных методов у таблицы есть полезный атрибут separatorColor. С помощью которого можно установить цвет разделителя ячеек.

 

<code data-result="[object Object]">self.tableView.separatorColor = [UIColor blackColor];</code>

 

Посколько устанавливаем мы цвет один раз и для всех ячеек — я добавил этот код в метод viewDidLoad.

 

А вот и результат нашей работы:

 

 

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