Ich entwickle eine App für iOS 7 in Objective-C. Ich habe einen Bildschirm in meiner App mit ein paar Schaltflächen und einem hübschen Hintergrundbild. (Es ist eine einfache xib mit UIButtons
oben auf a UIImageView
.)
Ich dachte, es wäre cool, wenn diese Tasten den Parallaxeeffekt hätten, den der iOS 7-Startbildschirm hat. Wenn Sie also das Telefon neigen, können Sie den Hintergrund sehen.
Wie kann ich diesen Effekt in meiner eigenen App implementieren?
ios
objective-c
swift
parallax
Dan Fabulich
quelle
quelle
Antworten:
Mit iOS 7 hat Apple
UIMotionEffect
Motion-Effekte hinzugefügt, die sich auf die Ausrichtung des Geräts des Benutzers beziehen. Um beispielsweise den Parallaxeeffekt auf dem Startbildschirm zu emulieren, können Sie die hier und hierUIInterpolationMotionEffect
erläuterte Unterklasse nur mit wenigen Codezeilen verwenden.Ziel-C :
Swift (Danke an @Lucas):
Sie können auch eine Reihe von Bibliotheken finden, um dies zu vereinfachen oder diese Funktionalität älteren iOS-Versionen hinzuzufügen:
quelle
Übersetzt in schnell, falls jemand faul ist. Bitte stimmen @veducm beantworten , wenn Sie das nützlich gefunden
quelle
Die Lösung von @ veducm kann etwas kürzer sein. Die UIMotionEffectGroup für ihre x- und y-Bewegung ist veraltet, wenn Sie die Bewegungseffekte der x- und y-Achse separat hinzufügen.
quelle
type
von habenUIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis
und nicht so,UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis
wie es im Code festgelegt istquelle
Hier ist eine einfache Kategorie, um den Effekt auf iOs7 + zu integrieren:
https://github.com/jvenegas/TLMotionEffect
quelle
UIMotionEffect bietet eine kostenlose Parallaxenimplementierung unter iOS 7.
http://www.teehanlax.com/blog/introduction-to-uimotioneffect/
Mit https://github.com/michaeljbishop/NGAParallaxMotion können Sie einfach die Parallaxenintensität einstellen.
quelle
Dies hilft jemandem, der eine Parallaxe für tableView oder collectionView implementieren möchte.
Wenn Sie dies in collectionView implementieren möchten, ändern Sie einfach die tableView vairable in Ihre collectionView-Variable
und das ist es. Ich bin mir nicht sicher, ob dies der beste Weg ist. aber es funktioniert bei mir. hoffe es funktioniert auch bei dir. und lassen Sie mich wissen, wenn es ein Problem gibt
quelle
Wirklich verdammt einfach , warum bezieht sich komplexer Code. Probier es einfach. Arbeiten
Betrachten Sie die Bildansicht genau so groß wie die Bildansicht. Standardmäßig Alpha für Ansichtssatz 0.
quelle
Schnelle Übersetzung:
quelle