Как прокрутить просмотр таблицы в ячейку на основе времени?

Есть много вопросов о подключении к камере. Этот вопрос о показе клеток. У меня есть таблица с клетками на день, час.

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

Я могу изменить цвет ячейки таким образом: (в cellforRowAtIndexPath)

Сначала создайте два Unix-раза - один на данный момент, а другой для входящего времени. Затем просто

if (time == 1) { //future

        time = 0;
        cell.nameLabel.textColor = [UIColor yellowColor];
        cell.detailLabel.textColor = [UIColor yellowColor];

    } else { //past
        cell.nameLabel.textColor = [UIColor redColor];
        cell.detailLabel.textColor = [UIColor redColor];


    }

Я смотрю на:

[scrollToRowAtIndexPath:indexPath atScrollPosition:scrollPosition animated:] но я не уверен, что я на правильном пути, ни как использовать этот метод. Спасибо за любую помощь.

1 ответ

Решение

Вы не показали точную модель данных, но предполагали, что существует массив объектов, каждый из которых имеет NSDate свойство вы бы использовали что-то вроде

-(void) scrollToHour:(NSInteger)targetHour {
    NSCalendar *calendar = [NSCalendar currentCalendar];
    for (int i=0;i<self.dataObjects.count;i++) {
        MyObject *myObject=self.dataObjects[i];
        NSDateComponents *components = [calendar components:NSCalendarUnitHour fromDate:myObject.date];
        NSInteger hour = [components hour];
        if (hour >= targetHour) {
            [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0] atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
            break;
        }
}
Другие вопросы по тегам