2012-03-16 16 views
29

Android'de, ViewPager ve Fragments kullanarak aynı düzende birden fazla veri sayfası arasında gezinmenin düzgün bir yolu var. Kullanıcı sola veya sağa kaydırır ve sayfalar değişir. Tüm sayfalar için yalnızca bir görünüm denetleyicisi ve bir düzen kaynağı vardır, ancak kullanıcı içeriği gözüktüğünde veri içeriği değişir. Ayrıca, bir sonraki sayfanın içeriğinin zaten yüklendiğini görebileceğiniz, sola ve sağa kaydırmaya yönelik bir animasyon etkisi de vardır.iOS'ta Android’in ViewPager’iyle eşdeğer mi? Verilerin sayfalarını hızlıca kaydırın/çevirin

iOS'ta buna eşdeğer nedir?

+0

Aynı şeyi arıyorum. IOS için bir android uygulama yüklüyorum ve ScrollView, bir yatay TableView, PageViewController, vb kullanıp kullanmayacağından emin değilim. Ayrıca, her ayrıntıdan bu yana Android'de otomatik olarak bulunan görünümlerin dinamik ayırma veya boşaltma işlemlerini nasıl yapacağından emin değilim Görünüm, ViewPager ve Adaptör vb. tarafından ihtiyaç duyulmadığında serbest bırakılan kendi parçasıydı. Eşdeğer nedir? –

+1

Kapsayıcı görünümü ve UIPageViewController kullanarak bunu yapabiliriz .. https://stackoverflow.com/a/45188331/4665694 –

cevap

36

UIScrollView özelliğini pagingEnabled özelliği YES olarak ayarlayın. Tipik olarak bir UIPageControl onunla birlikte kullanılır.

Google, "UIScrollView sayfalama" için çok sayıda eğitici ve örnek bulabilir. Apple, PageControl örnek programını sağlar.

iOS adaptör benzeri sınıfının her türlü sağlar, ancak burada bir kerede tüm sayfaları örneğini zorunda kalmamak için "sanal sayfalar" nasıl uygulanacağı açıklayan bir öğretici olduğunu değildir: http://cocoawithlove.com/2009/01/multiple-virtual-pages-in-uiscrollview.html

21

UIPageViewController'a bakmalısınız. iOS'tan beri kullanılabilir 5.

+0

Teşekkür ederim, ama bu bir veri adaptörünü kullanmak yerine navigasyon _between_ görünüm denetleyicileri gibi görünüyor ve aynı görüş kontrolörü. Belirtilmemiş bir "sayfa" miktarım var, içeriği bir web sitesinden indiriliyor. – Vanja

+1

Her bir sayfa için birkaç nesnesi olan bir ViewController sınıfı oluşturabilir ve onu PageViewController öğesine ekleyebilirsiniz. – Ingolmo

+0

Bu doğru. Bunu muhtemelen iOS'ta yapmanın yolu budur. Ancak en azından iOS 4'ü desteklemem gerekecek, dolayısıyla UISwipeGestureRecognizer'ı kullanıp kullanamayacağımı anlamaya çalışacağım. Teşekkürler :) – Vanja

6

Android'in viewPager'ına benzeyen iOS için özel bir kontrol oluşturdum. Bunu kontrol edebilirsiniz here.

+1

güzel kontrol! Teşekkürler –

+1

çok yardımcı denetleyici .. Teşekkürler Bro ... –

0

ziyaret https://github.com/vowed21/HWViewPager

O size yardımcı olabilir.

Inherited UICollectionView.

materyali olarak yeniden Hücre, (muhtemelen Android'in Adaptör) sol, sağ tarafının

VE etkinleştirmek Önizleme parçası.

+0

HI Ben HWView pager kullanarak bir uygulamada bir alt görünüm olarak süper görünümden bu HWViewpager yeniden veri bütün veriyi yeniden yüklerken veri yeniden adlandırdığınızda kullanıyorum. Bununla ilgili bir fikrin varsa Plz yardım. –

0

Aşağıdaki fikri kullanarak kendi başınıza gerçekleştirebilirsiniz.

biz 3 madde (hücre) ile sonsuz döngü isteyen varsayalım - aşağıdaki gibi C0, C1, C2, biz, merkez hücre sağ ve sol tarafında

C0 C1 sonucu yapay hücreleri oluşturabilir C2-[C0 C1-C2] C0 C1-C2 dilimindeki

hücreler cihaz elekten gördüğümüz hücrelerdir, ve sola kaydırmak eğer

C0 [C1-C2-C0] C1-C2 C0 C1-C2

şu anda, verilen kukla hücrelerin sağ tarafını işaret etmek için contentOffset'i zorlayın,

C0 [C1 C2 C0] C1 C2 C0 C1 C2 -> C0 C1 C2 C0 [C1 C2 C0] C1 C2

Aynı mekanizmasında eserleri doğru onu kayar zaman.

Aşağıdaki çözümte, öğe görünümü genişliğini ana görünümüne eşit olacak şekilde ayarlamak sorununuzu çözecektir.

https://github.com/DragonCherry/HFSwipeView

sadece istiyorum sadece, nasıl çalıştığını kontrol etmek için aşağıdaki bağlantıyı tıklayın ve "oynamak için dokunun" edin.

https://www.cocoacontrols.com/controls/hfswipeview

Sadece tam boy hücre öğesi durumunda çalışabilir UIScrollView içinde pagingEnabled seçeneğini kullanarak, ancak kendi üst (kaydırma) görünümü farklı, içerik öğenin daha dar genişliğini ayarlamak isterseniz düzgün çalışmayacaktır. Lütfen bu özelliği "Sync" veya "Edge Preview" için kakaontroller örneğine başvurarak kontrol edin.