In iOS-Anwendung habe ich 250x85pt UIView. Ich möchte, dass es einen bildbasierten gekachelten Hintergrund hat. Das Originalbild ist 398x398 px. Ich möchte, dass mein Bild gekachelt wird.
Wenn ich eine Anwendung starte, werden meine Bildkacheln, aber aus irgendeinem Grund wie folgt skaliert:
Ich habe den folgenden Code verwendet, um es zu erreichen:
%Vor%Könnten Sie es erklären? 1. Warum skaliert ios mein Bild? 2. Wie zeichne ich gekacheltes Bild ohne Skalierung?
Grundsätzlich ist das Bild größer als Ihr UIView
. Wenn Sie UIColor(patternImage: image)
angeben, wird 1x Größe des Bildes verwendet.
Das Bild, in dem wir normalerweise Laptops sind, wird mit seinem Seitenverhältnis auf Fenstergröße skaliert.
Skalieren Sie Ihr Bild entsprechend Ihrer Anforderung und wenden Sie es dann als Hintergrundbild an.
Um Bantos Antwort zu erweitern, ist das Problem, dass Ihre Ansicht 250x85 Punkte beträgt, was auf Retina-Geräten wirklich 500x170 Pixel ist. Wenn Ihr x1-Bild in ein Muster umgewandelt wird, wird es auf der Punktebene angewendet. Das Problem kann leicht geändert werden, indem die Skala auf dem Bild so eingestellt wird, dass sie der Skala auf dem Gerät entspricht:
%Vor%