Я разрабатываю приложение для iOS 7 на Objective-C. В моем приложении есть экран с несколькими кнопками и красивым фоновым изображением. (Это простая xib UIButtons
поверх a UIImageView
.)
Я подумал, что было бы здорово, если бы эти кнопки имели эффект параллакса, который есть на домашнем экране iOS 7, поэтому, если вы наклоните телефон, вы можете увидеть фон.
Как я могу реализовать этот эффект в собственном приложении?
ios
objective-c
swift
parallax
Дэн Фабулич
источник
источник
Ответы:
В iOS 7 Apple
UIMotionEffect
добавила эффекты движения, связанные с ориентацией устройства пользователя. Например, чтобы имитировать эффект параллакса на главном экране, вы можете использовать подклассUIInterpolationMotionEffect
, как описано здесь и здесь , всего с несколькими строками кода.Цель-C :
Swift (спасибо @Lucas):
Кроме того, вы можете найти множество библиотек, чтобы сделать это проще или добавить эту функцию в более старые версии iOS:
источник
В переводе на быстрый, если кому-то лень. Пожалуйста, проголосуйте за ответ @veducm , если вы нашли это полезным
источник
Решение @veducm может быть немного короче. UIMotionEffectGroup для его движения по осям x и y устареет, если вы добавите эффекты движения по осям x и y по отдельности.
источник
type
отUIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis
и неUIInterpolatingMotionEffectTypeTiltAlongVerticalAxis
так как это в коде выложенныхисточник
Вот простая категория для интеграции эффекта на iOs7 +:
https://github.com/jvenegas/TLMotionEffect
источник
UIMotionEffect предоставляет бесплатную реализацию параллакса для iOS 7.
http://www.teehanlax.com/blog/introduction-to-uimotioneffect/
https://github.com/michaeljbishop/NGAParallaxMotion позволяет вам просто установить интенсивность параллакса.
источник
Это поможет тем, кто хочет реализовать параллакс для tableView или collectionView.
Если вы хотите реализовать это в collectionView, просто измените tableView vairable на вашу переменную collectionView.
и это все. я не уверен, что это лучший способ. но у меня это работает. надеюсь, что это сработает и для вас. и дайте мне знать, если возникнут проблемы
источник
Действительно легко сделать так, почему ссылается на сложный код. просто попробуйте. Работает
Взгляните на изображение точно по размеру просмотра изображения. по умолчанию альфа для набора просмотров 0.
источник
Быстрый перевод:
источник