2016-04-19 13 views
1

Also habe ich versucht, eine einfache automatische Scroll-Ansicht mit iCarousel zu erstellen.iCarousel rendert keine 3. Ansicht von 4 Elementen auf iPhone 6+

i gemacht 4 Ansicht mit Bild in der Mitte sichtbar sein, die

func carousel(carousel: iCarousel, viewForItemAtIndex index: Int, reusingView view: UIView?) -> UIView 

mit und melden Sie die Indexansicht, die derzeit gemacht werden,

i testen Sie es auf iPod touch/iPhone 5/iphone 6, und jede Ansicht als das Protokoll gedruckt

current index rendered 0 
current index rendered 3 
current index rendered 2 
current index rendered 1 

gemacht bekommen, aber wenn ich versuche, es auf iphone 6+, drucken sie das Protokoll nur:

current index rendered 0 
current index rendered 3 
current index rendered 1 

ist es nur das Karussell? Ich bezweifle es ... deshalb, was sollte ich tun, um das Karussell die dritte Ansicht (2) zu machen? weil auf func numberOfItemsInCarousel(carousel: iCarousel) -> Int, ich die Anzahl meiner Bild-Array zurückgeben.

dank

Antwort

0

Sorry, es scheint es, das natürliche Verhalten des Karussells der wiederverwendeten Ansicht ist. Wenn es auf 5 oder 6 war, erlaubt die Dimension der Ansicht, dass es bei der Initialisierung gerendert wird, sodass die Wiederverwendungsansicht nicht benötigt wird. aber wenn es auf 6+ war, ist die Dimension größer und es macht das Karussell, nur 3 Artikel zu rendern: die aktuelle, die vordere/rechte und die hintere/linke (wenn Umbruch aktiviert ist und meine Einstellung aktiviert ist)

dann kam ich zu der Erkenntnis, dass ich es falsch mache, wenn ich die Ansicht wiederverwende. was ich vorher getan habe, war, die UI-Komponenten zu bekommen und dann ihr Rect neu zu erstellen. während das Beispiel das nicht gemacht hat.

so war meine Lösung, das Rect nicht neu zu erstellen und nur das Bildattribut der UIViewImage der Unteransicht

ändern