2014-04-06 12 views
28

Ben bir UICollectionView var ve bir öğe seçildiğinde, tam ekran hareketlendirmek istiyorum. Böylece hücrenin boyutundan tam ekrana geçip UIViewController haline gelirdi. Pinterest ve Evernote'un her ikisi de, bir hücreye dokunmanın hücreyi tam ekran görünümü denetleyicisine dönüştürdüğü bu davranışa sahiptir.Nasıl UICollectionView için UIViewController gibi geçiş yapmak için nasıl Pinterest/Evernote

Bunun nasıl yapıldığına dair bir örnek var mı? Birkaç projeyi araştırdım, ancak bir hücreyi tam ekran görüntü denetleyicisine geçirmeyi gösteren hiçbir şey bulunamadı.

Pinterest buradan anlatılır: http://engineering.pinterest.com/post/67769846580/behind-the-pins-building-pinterest-3-0-for-ios

enter image description here

+0

cevabı hiç buldunuz mu? Ben burada aynı şeyi yapmaya çalışıyorum .. –

+2

@OscarYuandinata Belki bu [repo] (https://github.com/demon1105/PinterestSwift) – demon

+0

vay büyük deneyin! thx @demon –

cevap

19

Bu geçişi uygulamak zor değil. Tıpkı söz konusu makalede olduğu gibi, UIViewControllerAnimatedTransitioning protokolünü uygulamak için de bir geçiş yaptılar. Yeni boyutu, animasyon uygulamak için dokunduğunuz görüntü konumunu hesaplamanız gerekir. Bu kadar.

Bu iki uygulamamız, hepsi yukarıdaki bu yöntemle bu benzer geçiş efektini uygular.

https://itunes.apple.com/app/hua-ban-quan-qiu-you-mei-tu/id494813494?mt=8

Ve bu:

https://itunes.apple.com/app/mei-tu-sou-sou-wan-zhuan-wei/id781146829?mt=8


Bu repo birkaç gün önce oluşturulmuş etmişti. Ve Swift ile, bu küçük geçişin hemen hemen yanında bu geçişi bitirdim, bu benim ilk uygulamalı demo projesi olan Swift. Ancak iOS devresinde birinci sınıf değilseniz ve Swift BTW'yi öğrenirseniz anlamak zor değil. Onu bitirip hataları düzelteceğim.

Gerçek projede demodan çok daha karmaşıktır, ancak belki de bu tür bir geçişe nasıl ulaşılacağını biliyordunuz.

İyi şanslar.

+0

Teşekkürler. Teorik olarak anlıyorum, ancak gerçekleri anlamak için kod kullanarak gerçek bir örnek görmek güzel olurdu. Örneğin, hem kendi hem de Pinterest uygulamasında, hücrenin konumu, siz de tekrar yakınlaştırdığınızda değişir. Kavramsal olarak mantıklı olan küçük şeyler var, ama aslında bunu kodlamak, bu meydan okuma. – user1218464

+0

@ user1218464 Roger, bunu belki bir gün sonra uygulamak için bir demo göstereceğim ve bu geçişi yapmanın daha iyi bir yolu olup olmadığını görmek istiyorum, bittikten sonra bu cevabı düzenleyeceğim. – demon

+0

Hey, bilmek istedim, eğer bir düğmeye dokunulduğunda koleksiyon görünümünden bir hücreyi silmek istersem, bunu nasıl uygulamalıyım? – Stephanie

İlgili konular