Apa yang dianggap praktik terbaik untuk menjiwai transisi tampilan di iPhone?
Misalnya, ViewTransitions
proyek sampel dari apel menggunakan kode seperti:
CATransition *applicationLoadViewIn = [CATransition animation];
[applicationLoadViewIn setDuration:1];
[applicationLoadViewIn setType:kCATransitionReveal];
[applicationLoadViewIn setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[[myview layer] addAnimation:applicationLoadViewIn forKey:kCATransitionReveal];
tetapi ada juga cuplikan kode yang mengambang di sekitar jaring yang terlihat seperti ini:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.75];
[UIView setAnimationDelegate:self];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:myview cache:YES];
[myview removeFromSuperview];
[UIView commitAnimations];
Apa pendekatan terbaik? Jika Anda bisa memberikan potongan juga itu akan sangat dihargai.
CATATAN: Saya tidak bisa mendapatkan pendekatan kedua agar berfungsi dengan benar.
iphone
ios
cocoa-touch
uiview
core-animation
Keith Fitzgerald
sumber
sumber
UIView
sebagai gantinya. Mereka pada dasarnya sama denganbeginAnimations
dan teman, tetapi menggunakan fitur blok / penutupan.[UIView transitionWithView:mysuperview duration:0.75 options:UIViewAnimationTransitionFlipFromRight animations:^{ [myview removeFromSuperview]; } completion:nil]
Periksa dokumentasi UIView untuk detailnya.Saya telah menggunakan yang terakhir untuk banyak animasi ringan yang bagus. Anda dapat menggunakannya menyeberangi dua tampilan, atau memudar satu di depan yang lain, atau memudar. Anda dapat memotret pemandangan lain seperti spanduk, Anda dapat membuat tampilan melebar atau mengecil ... Saya mendapatkan banyak jarak tempuh dari
beginAnimation
/commitAnimations
.Jangan berpikir bahwa yang dapat Anda lakukan adalah:
Berikut ini contohnya:
Seperti yang Anda lihat, Anda bisa bermain dengan alpha, bingkai, dan bahkan ukuran tampilan. Bermain-main. Anda mungkin akan terkejut dengan kemampuannya.
sumber
Perbedaannya tampaknya adalah jumlah kontrol yang Anda butuhkan atas animasi.
Itu
CATransition
pendekatan memberikan kontrol yang lebih dan karena itu lebih banyak hal untuk mengatur, misalnya. fungsi pengaturan waktu. Menjadi objek, Anda dapat menyimpannya nanti, refactor untuk mengarahkan semua animasi Anda padanya untuk mengurangi kode duplikat, dll.Metode
UIView
kelas adalah metode kenyamanan untuk animasi umum, tetapi lebih terbatas daripadaCATransition
. Misalnya, hanya ada empat jenis transisi yang mungkin (flip kiri, flip kanan, meringkuk, meringkuk ke bawah). Jika Anda ingin melakukan fade in, Anda harus menggali untukCATransition's
memudar transisi, atau mengatur animasi eksplisitUIView
alpha Anda.Perhatikan bahwa
CATransition
pada Mac OS X Anda dapat menentukanCoreImage
filter sewenang-wenang untuk digunakan sebagai transisi, tetapi seperti yang berlaku sekarang Anda tidak dapat melakukan ini pada iPhone, yang kekuranganCoreImage
.sumber
Kita dapat menghidupkan gambar di ios 5 menggunakan kode sederhana ini.
sumber
Dalam
UIView
dokumen, baca fungsi ini untuk ios4 +sumber
Bagaimanapun metode "Blok" lebih disukai sekarang-a-hari. Saya akan menjelaskan blok sederhana di bawah ini.
Pertimbangkan potongan di bawah ini. bug2 dan bug 3 adalah imageViews. Animasi di bawah ini menjelaskan animasi dengan durasi 1 detik setelah penundaan 1 detik. Bug3 dipindahkan dari pusatnya ke pusat bug2. Setelah animasi selesai itu akan dicatat "Pusat Animasi Selesai!".
Semoga bersih !!!
sumber
Berikut ini adalah Code for Smooth animation, mungkin dapat membantu banyak pengembang.
Saya menemukan potongan kode ini dari tutorial ini.
sumber
ayo coba dan checkout Untuk Swift 3 ...
sumber