- PVSM.RU - https://www.pvsm.ru -

От идеи до App Store за 24 часа: Heads Up

imageЗдравствуйте, уважаемые читатели!

Благодарю вас за столь теплый прием Бессвязного Девелопа!

В честь праздника (25 Декабря), устраиваем очередной 24-х часовой марафон по разработке приложения для iOS. В этот раз замахнулись на приложение «Heads Up!» [1] — Топ 3 в канадском App Store. Конечно, клонов уже достаточное количество: тут и «Party Heads» [2], и «Guess It?» [3], и «Charades» [4]. Однако у всех этих приложений есть фатальные недостатки [5]: они либо платные, либо увешаны рекламой, либо продают дополнительные наборы слов. Уму не постижимо! Продавать наборы слов! Это срочно нужно поправить и раздавать подобное приложение бесплатно, вместе со всем содержимым.

Как обычно, трансляция на bdev.tv [6], актуальный код на гитхабе [7], а общение в 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];

image

Заключение

Огромное спасибо, что дочитали до конца! Отдельную благодарность выражаю команде и докладчикам с iOS 7 Tech Talks [8], откуда я и взял материал про параллакс слои.

К сожалению, iTunes Connect в спячке до 27го декабря, поэтому выложить приложение в AppStore получится только в пятницу; но весь код будет доступен на гитхабе, так что не стесняйтесь устанавливать себе и тестировать перед релизом (буду рад всем багам, которые найдете).

Милости прошу к нам в уютный стрим! Всем продуктивных рабочих дней!

Автор: backmeupplz

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/news/51613

Ссылки в тексте:

[1] «Heads Up!»: https://itunes.apple.com/ca/app/heads-up!/id623592465

[2] «Party Heads»: https://itunes.apple.com/ca/app/party-heads/id648961649?mt=8

[3] «Guess It?»: https://itunes.apple.com/ca/app/guess-it-play-word-charades/id652981356?mt=8

[4] «Charades»: https://itunes.apple.com/ca/app/charades!-guess-words-draw/id653967729?mt=8

[5] фатальные недостатки: http://lurkmore.to/Фатальный_недостаток

[6] bdev.tv: http://bdev.tv

[7] гитхабе: https://github.com/backmeupplz

[8] iOS 7 Tech Talks: https://developer.apple.com/tech-talks/videos/

[9] Источник: http://habrahabr.ru/post/207382/