Работа с ячейкой таблицы

Требования к операционной системе: iOS 5.0 и выше.

Мобильное устройство: iPad.

Описание

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

Также в консоль среды разработки выводятся следующие данные:

Исходный код

Для выполнения примера необходимо разместить взамен метода executeExample класса ViewController (см. раздел «Создание простой электронной таблицы») следующий код:

-(void) executeExample{
    // Получаем ячейку
    NuGridCell *cell = [proxyDatasource gridView:(NuGridView *)[contr gridView] cellInRow:1 inColumn:1];
    // Получаем стиль ячеек
    NuGridCellStyle *style = [cell style];
    // Изменяем фоновый цвет ячеек
    [style setBackgroundColor:[UIColor grayColor]];
    // Рассчитываем и выводим размер ячейки на основе ее содержимого
    CGSize size = [cell bestSize];
    NSLog(@"%@ (%f, %f)", @"Рассчитанный размер ячейки:", size.width, size.height);
};
// Обрабатываем событие нажатия на ячейку таблицы
- (void)gridView:(NuGridView *)gridView wasTouchedInCell:(NuGridDecoratedCell *)cell {
    // Устанавливаем подсветку ячейки
    [cell setIsHighLighted:YES];
    // Устанавливаем ширину границ ячейки
    [cell setBorderWidth:2];     // Получаем количество столбцов и строк, принадлежащих объединенной ячейке     NSInteger includedColumnsCount = [[cell includedColumns ]count];     NSInteger includedRowsCount = [[cell includedRows] count];     // Очищаем информацию об объединенных строках и столбцах при их наличии     if((includedColumnsCount != 0) && (includedRowsCount != 0))     {         [cell clearIncludes];     }     // Если ячейка входит в состав объединенной ячейки, то выводим индексы ее строки и столбца     if([cell isLink])     {         NSLog(@"%@ %d", @"Индекс столбца:", [cell linkColumn]);         NSLog(@"%@ %d", @"Индекс строки:", [cell linkRow]);     }     // Выводим идентификатор повторного использования     NSLog(@"%@ %@", @"Идентификатор повторного использования:", [cell reuseIdentifier]);     // Выводим  размеры ячейки     NSLog(@"%@ (%f, %f)", @"Размер ячейки:", [cell width], [cell height]);     // Выводим строковое представление данных ячейки     NSLog(@"%@ %@", @"Строковое представление данных ячейки:", [cell toString]);     // Получаем столбец, которому принадлежит ячейка     NuGridColumn *col = [cell column];     // Выводим абсолютную позицию столбца по оси X     NSLog(@"%@ %f", @"Абсолютная позиция столбца по оси X:", col.absoluteXPosition);     // Выводим позицию столбца по оси X в видимой области таблицы     NSLog(@"%@ %f", @"Позиция столбца по оси X в видимой области таблицы:", col.xPosition);     // Получаем строку, которой принадлежит ячейка     NuGridRow *row = [cell row];     // Выводим абсолютную позицию строки по оси Y     NSLog(@"%@ %f", @"Абсолютная позиция строки по оси Y:", row.absoluteYPosition);     // Выводим позицию строки по оси Y в видимой области таблицы     NSLog(@"%@ %f", @"Позиция строки по оси Y в видимой области таблицы:", row.yPosition); };

В результате выполнения примера был изменен фоновый цвет ячеек, а в консоль среды разработки был выведен рассчитанный размер полученной ячейки:

Рассчитанный размер ячейки: (7.980000, 16.702000)
 

После нажатия на любую ячейку таблицы она станет подсвеченной и изменится ширина её границ:

Также в консоли среды разработки будет выведена информация о нажатой ячейке:

Идентификатор повторного использования: row

Размер ячейки: (80.000000, 50.000000)

Строковое представление данных ячейки: 2

Абсолютная позиция столбца по оси X: 133.000000

Позиция столбца по оси X в видимой области таблицы: 133.000000

Абсолютная позиция строки по оси Y: 83.000000

Позиция строки по оси Y в видимой области таблицы: 83.000000

См. также:

Примеры использования компонентов