Ich arbeite an einer Fotogalerie App. Die Root-Ansicht ist ein Navigationscontroller, der den Benutzer zur Miniaturansicht bringt. Durch Tippen auf ein beliebiges Vorschaubild gelangt der Benutzer zu PhotoView, wo das angetippte Bild im Vollbildmodus angezeigt wird.UIScrollView App in Crashing Gerät aber läuft perfekt im Simulator
Unten ist das, was ich in meinem PhotoViewController getan habe:
Der Ansatz ziemlich ähnlich das ScrollingMadness Projekt, das ich bei Github gefunden.
Ich initialisiere ein UIScrollView und füge es als Unteransicht in die Ansicht meines View-Controllers ein. Legen Sie einige grundlegende Eigenschaften von UIScrollView fest. Fügen Sie Bilder zu UIImageViews hinzu (5 in Zahlen). Fügen Sie all diese imageViews als Unteransicht zu UIScrollView hinzu. Wenn der Zoomvorgang für ein Bild ausgeführt wird, werden alle Bilduntersichten außer der aktuellen aus der Bildlaufansicht entfernt. Wenn das Bild auf den minimalen Maßstab verkleinert wird, werden alle Bilder dem UIScrollView hinzugefügt.
Wie im Beispielcode von Apple erläutert, verwende ich TapDetectingImageView Delegate, um die ImageViews zu erstellen und Berührungsereignisse zu behandeln.
Wenn ich die App starte, funktioniert alles im Simulator. Keine Probleme. Aber wenn ich die App im Gerät starte, stürzt es ab, nachdem ich zum 3. oder 4. Bild gescrollt habe. Während des Debugging habe ich festgestellt, dass die didReceiveMemory-Warnung aufgerufen wird, nachdem ich zum 3. oder 4. Bild geblättert habe. Ich starte die App mit Instrumenten. Die Objektzuordnungen zeigen beim Absturz nur Zuordnungsstufen von 1,5 bis 2 MB. Ich glaube, die Speichernutzung auf diesem Niveau ist sehr normal ... oder?
Jeder, der dies schon einmal erlebt hat ODER irgendeinen Input darüber, wie ich ihn loswerden kann ... wäre zu dieser Zeit die ganze Hilfe, die ich in der Welt brauche.
Lassen Sie mich wissen, falls Sie weitere Informationen benötigen.
PS> Seine frustrierend die ganze App perfekt in Simulator zu sehen, aber in dem Gerät abstürzt :(
Daniel - du bist Pixel perfekt richtig !!! Die Bilder waren 1200X1600. Ich zerkleinere sie auf 320x480, das funktioniert wie ein Zauber. Die Anzahl der Bilder, die ich gerade benutzt habe, ist 5. Aber irgendwann werde ich 20 Bilder verwenden müssen. Wenn Sie bitte vorschlagen könnten, wie Sie faule Bild-Ansichten laden oder 3 Bilder gleichzeitig laden, wie Sie erwähnten - wäre eine große Hilfe. Das Herauszoomen wurde erledigt. Nichts geht rein und raus aus der Erinnerung. Es ist nur das In-Out-Zeug auf Subview für den Inhalt bereits im Speicher. Danke für Ihre Hilfe! –
Sehen Sie sich das Beispielprojekt PageControl in der Apple iPhone Entwickler-Website an, es hat ein gutes Beispiel dafür, wie Sie erreichen können, was Sie wollen – Daniel