Come portare la visualizzazione corrente di iCarousel in cima alle altre visualizzazioni in iCarouselTypeWheel
Domanda
Voglio creare una ruota simile a "http://www.asianpaints.com/royale" in iOS, fino ad ora ho utilizzato iCarousel
tipo: iCarouselTypeWheel
.Funziona quasi per me, ma il problema principale è che la vista centrale si è sovrapposta agli elementi successivi.Per favore fatemi sapere come risolvere.
Grazie in anticipo per qualsiasi aiuto.
Soluzione
In realtà dovrai modificare il valore della trasformazione z (che sta restituendo) di CATransform3DTranslate
funzione dentro transformForItemViewWithOffset
metodo.Questo è un po' complicato però.
Per fare questo,
- Apri i tuoi
iCarousel.m
file - Cercare
-(CATransform3D)transformForItemViewWithOffset:(CGFloat)offset
metodo Dentro il
switch case
dichiarazione, vai aiCarouselTypeWheel
e nell'altra parte dovrai cambiare lineareturn CATransform3DTranslate(transform, 0.0f, -radius, offset * 0.01f);
A
return CATransform3DTranslate(transform, 0.0f, -radius, 0.0f);
Salva il file ed esegui il progetto per vedere se questo ti dà il risultato desiderato.
Altri suggerimenti
Standard Wheel Set "First" Element sulla posizione più sinistra o la maggior parte destra, quindi se vuoi carousel inizia in alto è necessario impostare il tipo di carosello su iCarouselTypeCustom
e fornire trasformazione in carousel:itemTransformForOffset:baseTransform:
è possibile trasformare dalla fonte di Icarousel come base