Здравствуйте, уважаемые читатели!
Благодарю вас за столь теплый прием Бессвязного Девелопа!
В честь праздника (25 Декабря), устраиваем очередной 24-х часовой марафон по разработке приложения для iOS. В этот раз замахнулись на приложение «Heads Up!» — Топ 3 в канадском App Store. Конечно, клонов уже достаточное количество: тут и «Party Heads», и «Guess It?», и «Charades». Однако у всех этих приложений есть фатальные недостатки: они либо платные, либо увешаны рекламой, либо продают дополнительные наборы слов. Уму не постижимо! Продавать наборы слов! Это срочно нужно поправить и раздавать подобное приложение бесплатно, вместе со всем содержимым.
Как обычно, трансляция на bdev.tv, актуальный код на гитхабе, а общение в jabber'e: bdev@conference.mit.edu. Предлагайте свои варианты названия приложения и свои иконки: лучшие попадут в App Store!
А вместо скучного анонса на Хабрахабре, сегодня я приоткрою завесу тайны над iOS 7 технологией, которую мы будем использовать в приложении — параллакс слоев, как на главном экране.
В программе стрима
- Умопомрачительная разработка приложения в прямом эфире 24 часа подряд
- Общение со зрителями — влияйте на происходящее!
- Предлагайте, какое приложение сделать бесплатным на следующей трансляции
- Конкурс на лучшую иконку для приложения
- Замечательный саунд-трек
(Дюна included) - Интриги, смех, баги, расследования, котики
Параллакс, как он есть
Все, что нужно сделать — это создать пару объектов нового класса UIInterpolatingMotionEffect, задать им максимальные и минимальные значения, объединить в группу и приделать нашему UIView. Да, все настолько просто.
Создаем параллакс по оси х:
UIInterpolatingMotionEffect *xAxis;
xAxis = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"center.x" type:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis];
Создаем параллакс по оси y:
UIInterpolatingMotionEffect *yAxis;
yAxis = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"center.y" type:UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis];
Задаем им максимумы и минимумы:
xAxis.minimumRelativeValue = @-40;
xAxis.maximumRelativeValue = @40;
yAxis.minimumRelativeValue = @-40;
yAxis.maximumRelativeValue = @40;
Объединяем в группу:
UIMotionEffectGroup *group = [[UIMotionEffectGroup alloc] init];
group.motionEffects = @[xAxis, yAxis];
И добавляем к нашему UIView:
[view addMotionEffect:group];
Заключение
Огромное спасибо, что дочитали до конца! Отдельную благодарность выражаю команде и докладчикам с iOS 7 Tech Talks, откуда я и взял материал про параллакс слои.
К сожалению, iTunes Connect в спячке до 27го декабря, поэтому выложить приложение в AppStore получится только в пятницу; но весь код будет доступен на гитхабе, так что не стесняйтесь устанавливать себе и тестировать перед релизом (буду рад всем багам, которые найдете).
Милости прошу к нам в уютный стрим! Всем продуктивных рабочих дней!
Автор: backmeupplz