Seltsames Verschwinden von Gegenständen beim Scrollen

8

Voreinstellungen,

Ich habe collectionViewFlowLayout Unterklasse mit

%Vor%

CollectionView drehen Sie auf den Kopf, scrollen Sie mit

%Vor%

Aber auch wenn ius native collectionViewFlowLayout ohne Subclassing verwendet, git diesen Fehler

Problem

Ich habe zwei Nachrichten und mehr im Chat, aber wenn unten scrollen (oben normal) verschwinden zweite Element.

layoutAttributesForElementsInRect gibt für das angegebene rect zwei Attribute für zwei indexPfads 0-0 und 0-1 zurück, aber delegieren Sie die Methode

%Vor%

wurde nur für indexPath 0-0

aufgerufen

Hier Bilder

UPDATE So fand ich, warum es passiert - dieser Zeilencode

%Vor%

Schauen Sie, wenn Sie die Transformation entfernen

    
Dmitry Nelepov 19.01.2016, 13:15
quelle

2 Antworten

0

Entschuldigung, alles, aber ich fand Grund und arbeite herum.

Dies geschieht nur auf dem Gerät, nicht im Simulator

Sehen Sie sich drei CGRects an

iPhone 5S

%Vor%

iPhone 5C

(CGRect) oldFrame = (Ursprung = (x = 0, y = 0), Größe = (Breite = 320, Höhe = 314))

Simulator Intel Core

%Vor%

Für alle von ihnen verwende ich eine Rotationstransformation über

%Vor%

Zuerst ist es auf iPhone 5S ARM Apple A7 CPU

Zweitens ist es auf iPhone 5C ARM Apple A6 CPU

Drittens ist es auf Simulator bei Intel Core iX-Prozessor.

Also, meine Arbeit ist:

%Vor%     
Dmitry Nelepov 03.02.2016, 11:03
quelle
1

Ich bin mir nicht ganz sicher, aber ich denke, wenn Sie das UICollectionViewFlowLayout ableiten, sollten Sie die Attribute nicht direkt ändern, sondern eine Kopie der Attribute erstellen, sie stattdessen ändern und zurückgeben.

>

Kurze Erklärung der obersten Aussage: Sie müssen das UICollectionViewFlowDelegate (das übergeordnete Element von UICollectionViewDelegateFlowLayout) ableiten und dann Ihre eigenen Attribute erstellen und diese nach Belieben ändern. Dazu müssen Sie jedoch viel mehr benutzerdefinierte Logik implementieren.

Sehen Sie auch nach, wenn Sie Fehler oder Warnungen in der Konsole erhalten.

Sehen Sie sich diese Frage an: Warnung: UICollectionViewFlowLayout hat einen nicht übereinstimmenden Frame für den Indexpfad 'abc'

Ich hoffe, dass ich wenigstens ein bisschen hilfreich war.

    
Georgi Boyadzhiev 05.02.2016 15:44
quelle