Saya sedang mengembangkan aplikasi untuk iOS 7 di Objective-C. Saya memiliki layar di aplikasi saya dengan beberapa tombol dan gambar latar belakang yang cantik. (Ini adalah xib sederhana dengan UIButtons
di atas a UIImageView
.)
Saya berpikir akan keren jika tombol-tombol itu memiliki efek paralaks yang dimiliki layar beranda iOS 7, jadi jika Anda memiringkan ponsel, Anda dapat melihat latar belakang.
Bagaimana cara menerapkan efek itu di aplikasi saya sendiri?
ios
objective-c
swift
parallax
Dan Fabulich
sumber
sumber
Jawaban:
Dengan iOS 7, Apple diperkenalkan
UIMotionEffect
untuk menambahkan efek Gerak yang terkait dengan orientasi perangkat pengguna. Misalnya, untuk meniru efek paralaks di layar beranda, Anda dapat menggunakan subkelasUIInterpolationMotionEffect
, seperti yang dijelaskan di sini dan di sini , hanya dengan beberapa baris kode.Objective-C :
Swift (Terima kasih kepada @Lucas):
Selain itu, Anda dapat menemukan banyak pustaka untuk melakukan ini dengan lebih mudah atau untuk menambahkan fungsionalitas ini ke versi iOS yang lebih lama:
sumber
Diterjemahkan ke cepat jika ada yang malas. Silakan pilih @veducm menjawab jika menurut Anda ini berguna
sumber
Solusi @ veducm bisa sedikit lebih singkat. UIMotionEffectGroup untuk gerakan x dan y sudah usang jika Anda menambahkan efek motionEffects sumbu x dan y secara terpisah.
sumber
type
dariUIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis
dan tidakUIInterpolatingMotionEffectTypeTiltAlongVerticalAxis
seperti di kode ditatasumber
Berikut adalah kategori yang mudah untuk mengintegrasikan efek pada iOs7 +:
https://github.com/jvenegas/TLMotionEffect
sumber
UIMotionEffect menyediakan implementasi paralaks gratis di iOS 7.
http://www.teehanlax.com/blog/introduction-to-uimotioneffect/
https://github.com/michaeljbishop/NGAParallaxMotion memungkinkan Anda mengatur intensitas paralaks.
sumber
Ini akan membantu seseorang yang ingin mengimplementasikan paralaks untuk tableView atau collectionView.
Jika Anda ingin mengimplementasikan ini ke collectionView, ubah saja tableView vairable ke variabel collectionView Anda
dan hanya itu. Saya tidak yakin apakah ini cara terbaik. tapi hal ini bekerja untukku. semoga berhasil juga untuk Anda. dan beri tahu saya jika ada masalah
sumber
Sangat mudah untuk melakukannya mengapa merujuk kode kompleks. Cobalah. Kerja
Mengambil tampilan di imageview ukuran persis dari tampilan gambar. secara default alfa untuk kumpulan tampilan 0.
sumber
Terjemahan cepat:
sumber