Welche ist besser zu verwenden, wenn ich einfach ein Hintergrundbild für eine UIView
möchte? Ich kann dies mit beiden Methoden erreichen, aber was ist effizienter? Meine Ahnung ist, dass die Verwendung einer UIView
mit colorWithPaternImage
effizienter ist als die Verwendung einer UIImageView
. Ich werde das für jede Zeile in einem UITableView
verwenden. Vielen Dank! MattcolorWithPatternImage Vs. UIImageView
Antwort
Ich stimme überhaupt nicht mit Boreas überein. Es kann signifikante Unterschiede zwischen colorWithPatternImage
und anderen Strategien geben, abhängig von Ihren Anforderungen. Wenn Sie z. B. eine UIScrollView
verwenden, lässt die Verwendung von colorWithPatternImage
das Bild nicht scrollen. Im Allgemeinen hängt es auch davon ab, wie groß Ihre Ansicht ist, da es bei verschiedenen Tiling-Strategien einen gewissen Kompromiss zwischen Performance und Speicherbedarf gibt.
Auschecken WWDC 2010 session 104, die Tiling-Leistung mit CATiledLayer
diskutiert. Dies ist eine gute, leistungsstarke Alternative zur Verwendung der integrierten colorWithPatternImage
oder CGContextDrawTiledImage
.
Wenn Sie nur ein einzelnes 320x480 statisches Bild anzeigen möchten, dann gibt es keine signifikanten Unterschiede in den verschiedenen Strategien, aber wenn Ihre Anforderungen komplexer sind, dann gibt es sicher.
Ja, es gibt dort eine UIView
sowieso, also warum stört es mit einem anderen UIImageView
?
- 1. ios: colorWithPatternImage, stretch Bild Vollbild
- 2. CALayer Leistung vs. UIImageView Leistung
- 3. colorWithPatternImage funktioniert nicht in io6?
- 4. Wie Bild Transparenz erhalten, wenn colorWithPatternImage mit:
- 5. UIColor colorWithPatternImage verwendet nur ein Bild
- 6. Hinzufügen abgerundeter Ecken zu UIImageView vs Pre-Rendering der UIImage?
- 7. AutoLayout - UIImageView, die nicht rotiert
- 8. UIImageView: Vollbild
- 9. UIImageView Randfarbe
- 10. UIImageView Inhaltsmodus
- 11. Retina-Anzeige VS normale Anzeige Farbdifferenz
- 12. Kann Text in UILabel mit einem colorWithPatternImage versehen werden?
- 13. UIColor `-colorWithPatternImage:` Alpha Blending Problemlösung. (iOS SDK 4.1)
- 14. colorWithPatternImage mit iPhone 4 Retina Display ([email protected])
- 15. Drag UIImageView und Drop in einem anderen UIImageView
- 16. Animate Rotating UIImageView
- 17. iPhone - Speichern UIImageView Status
- 18. Zoom Lupe auf UIImageView
- 19. UIImageView Skalierung/Interpolation
- 20. berührt Ereignishandler für UIImageView
- 21. UIImageView Programmatically in schnellen
- 22. UIImageView prise zoom swift
- 23. gestrichelter Rahmen UIImageView swift
- 24. UIImageView Border Problem
- 25. iOS: UIImageView Probleme
- 26. Benutzerinteraktion auf einem UIImageView
- 27. Set contentMode von UIImageView
- 28. UIImageView Vergrößern und Verkleinern
- 29. Zeige UIImageView vor UIView
- 30. UIImageView + animatedGIF immer LOOPS
Was ist, wenn ich nicht möchte, dass das Bild gekachelt wird. Ich möchte nur, dass es einmal auftaucht, wie wenn ich ein 'UIImageView' benutzen würde? – ma11hew28
Wenn das Bild nicht gekachelt werden soll, können Sie nicht 'backgroundColor colorWithPatternImage' verwenden, es sei denn, die Ansicht, für die Sie die Hintergrundfarbe festlegen, hat genau die gleiche Größe wie das Bild, das Sie als Hintergrundmuster festlegen. In diesem Fall müssen Sie "UIImageView" als Unteransicht hinzufügen. Einfache Ansichten werden überall in iOS verwendet und haben im Allgemeinen nur sehr geringe Auswirkungen auf die Leistung. Es ist also nichts falsch daran, ein benutzerdefiniertes Hintergrundbild für Ihre Tableview-Zellen zu haben. – memmons
Wenn also die Ansicht, für die ich die Hintergrundfarbe einstelle, genau die gleiche Größe hat wie das Bild, das ich als Hintergrundmuster einstelle, ist es effizienter, 'colorWithPatternImage' anstatt' UIImageView' zu verwenden? Macht es einen Unterschied, ob das Bild nur einmal auf dem Bildschirm angezeigt wird oder ob das gleiche oder ein anderes Bild in jeder Tabellenansichtszelle angezeigt wird? – ma11hew28