Я реализовал нечто почти идентичное этому в приложении, которое я сейчас разрабатываю для клиента.
Во-первых, я бы представил метод на вашем контроллере табличного представления, где вы можете установить день для отображенияданные для:
- (void)setDayToDisplayDataFor:(NSDate *)date animated:(BOOL)animated;
Я выбрал NSDate там, и вы можете, например, показать данные за следующие 24 часа, начиная с этой даты.Или вы можете выбрать другой метод, который подходит вам и вашей модели данных.Альтернативой может быть целое число, представляющее количество дней для просмотра в обратном направлении.
Затем я бы разработал собственный элемент управления (подкласс UIView) с двумя кнопками со стрелками влево / вправо на каждом конце и датой в середине,Вы можете либо вставить это в заголовок табличного представления, чтобы оно прокручивалось за пределы экрана, либо оставить его полностью над табличным представлением, чтобы оно оставалось там при прокрутке.Примерно так:
![alt text](https://i.stack.imgur.com/3oyx0.png)
Когда пользователь нажимает кнопку для перехода вперед / назад, вы можете сдвинуть метку текущей даты влево или вправо и вставить новую дату.Это дает визуальное представление о том, что произошло.
Орган управления также должен вызвать делегата, чтобы сообщить ему об изменении даты.В этом случае делегат - это просто ваш контроллер табличного представления.Поэтому, когда пользователь нажимает кнопку, вы получаете новую дату из пользовательского элемента управления датой и вызываете свой метод setDayToDisplayDataFor:animated:
, чтобы отобразить обновленные данные.Вы также можете анимировать это изменение табличного представления, если хотите.