Kürzlich habe ich versucht, Renderzeit zu sparen durch Minimierung der Zeitaufwand für die Zuweisung und Duplizierung von Ressourcen als Bilder mit einem bereits zugeordneten UIImageViews und UIImages.mehrere Einstellung des Bildes für UIImageView
Was ich versuche zu tun ist, eine Karte aller UIImages zu erhalten - jeder einzigartig, und jedem auf Wunsch der Spielengine mehrere UIImageViews zuzuweisen. Während das Spiel fortschreitet, entferne ich einige UIImageViews aus dem Display und später könnte sie mit verschiedenen vorinstallierten UIImages wiederverwendet werden.
Das erste Mal, dass ich die UIImageView schaffe ich so etwas wie:
m_ImageView = [[UIImageView alloc] initWithImage: initialImg];
[m_ParentView addSubview: m_ImageView];
Und die folgenden Zeiten schalte ich einfach das Bild:
[m_ImageView.image release];
[m_ImageView setImage otherSavedImg];
Das Problem ist, dass nach dem Wechsel die neue Bildgröße wie angezeigt mit der ursprünglichen Bildgröße identisch ist. Ich umging das Problem, indem ich die UIImageView jedes Mal neu erstellte (was wie eine Zeitverschwendung scheint), aber ich frage mich, warum das passiert und wie ich es verhindern kann.
Danke,
Hey Dave, Danke für die Antwort, nachdem ich es gelesen habe ging ich zurück und lese das UIImageView-Dokument von vorne nach hinten und sie erwähnen in der Tat so etwas: > Einstellung der Image-Eigenschaft ändert nicht die Größe eines UIImageView. Rufen Sie sizeToFit auf, um die Größe der Ansicht an das Bild anzupassen. Sehr seltsam, sie tun es nicht mit dem UIImage-Set, aber hey - du hast mich einen Tag gerettet. -Adi – Adi
Ha, ich habe die sizeToFit Methode vergessen! Guter Fund. Ich würde jedoch empfehlen, eine Kategorie zu erstellen, um das Image und sizeToFit festzulegen, damit es * Ihren * Code dekompliziert. –
Ich ging zurück und änderte die Antwort, um "sizeToFit" zu verwenden. =) –