User |
|
|
На сцене отображается список добавленных детей в виде табличного представления. Для хранения данных используется CoreData с автоматической синхронизацией в облаке (с использованием CloudKit). Табличная ячейка отображает базовую информацию о ребенке: его фотографию, возраст (количество дней склоняется в соответствии с NSStringPluralRule. |
Day |
|
|
Сцена отражает активность ребенка за выбранный день. В качестве секций выступают Сны и Бодрствования, а активность, связанная с Кормлениями, Сцеживаниями отражается в виде рядов, соответствующего Сна или Бодрствования. В NavigationBar'e реализованы возможности по редактированию сведений о ребенке (titleView) и выбору текущей даты (rightBarButtonItem). |
|
Выбор необходимой даты осуществяется при помощи кастомного ViewController'a: DatePicker. |
|
Для того, чтобы начать или закончить сон в текущий день достаточно просто нажать на кнопку "Начать/ закончить сон", и событие произойдет в текущее время. Если же на кнопку нажать не в текущий день, то сразу выскочит окно с выбором времени, начиная с конца последеней активности выбранного дня, заканчивая 23:59 выбранного дня. |
|
В конце каждого дня представлена статистика, включающая информацию по активности за прошедшую ночь, текущий день, следующую ночь. В настройках можно отключить демонстрацию как отдельных статистических параметров, так и целых секций. |
|
При выборе секции с Бодрствованием вызывается AlertController с различными действиями (на слайде не представлены некторые из них, поскольку не удовлетворяют условиям). |
|
При выборе секции со Сном вызывается AlertController с различными действиями (на слайде не представлены некторые из них, поскольку не удовлетворяют условиям). |
KidProfile |
|
|
При нажатии на titleView на NavigationBar'e на предыдущей сцене, происходит переход в профиль ребенка, где можно изменить его фотографию, имя, дату рождения, а также диапазон ночного сна, благодаря которому сны, начавшиеся внутри которого будут автоматически помечаться как ночные. |
Sleep |
|
|
Сцена редактирования сна. Реализована возможность установки времени начала и окончания сна при помощи DatePicker, указания дневной или ночной сон, места сна и примечания. |
Nursing |
|
|
Сцена редактирования кормления. Реализована возможность установки времени начала и окончания сна при помощи DatePicker, указания дневной или ночной сон, места сна и примечания. |
AudioCollection |
|
|
Во второй секции TabBar'a, "Аудио", расположены несколько разделов аудио контента (пока доступен только один - "Окружение"), которые представлены в виде CollectionView, по тапу на которую происходит переход на сцену AudioTracks, в которой расположены аудиозаписи звуков природы и окружения, предметов быта. |
AudioTracks |
|
|
При нажатии на ячейку табличного представления, появляется аудио-плеер, реализованный в слое MainTabBar. |
AudioPlayer |
|
|
Первоначально запущенный трек проигрывается практически бесконечно (Int.max), однако, время проигрывания можно установить (диапазон: 10 - 240 минут). При установке таймера автоматически устанавливается плавное затухание звука в течение последних 10 минут проигрывания. |
|
Так как AudioPlayer реализован в MainTabBar, плеер доступен любом экране приложения (кроме сцен настроек). При появлении плеера происходит изменение нижнего инсета как табличного представления, так и ScrollView (сохраняется в UserDefaults), что позволяет оставить доступным контент, находящийся на ViewController'ах за AudioPlayer'ом в свернутом виде на всех сценах приложения. |
|
Реализована возможность управления громкостью и воспроизведением аудио из Control Center'a, а также возможность передачи аудиоконтента по AirPlay. |