NSImageView Bildaspekt ausfüllen?

9

Ich bin also an UIImageView gewöhnt und kann verschiedene Arten festlegen, wie sein Bild darin angezeigt wird. Wie zum Beispiel AspectFill-Modus etc ...

Ich würde das Gleiche mit NSImageView auf einer Mac-App erreichen. Funktioniert NSImageView in dieser Hinsicht ähnlich wie UIImageView oder wie würde ich ein Bild in einer NSImageView anzeigen und verschiedene Möglichkeiten zur Anzeige dieses Bildes auswählen?

    
zumzum 11.04.2014, 02:52
quelle

5 Antworten

14

Sie finden es möglicherweise viel einfacher, NSView von einer Unterklasse zu trennen und einen CALayer bereitzustellen, der die Seitenfüllung für Sie übernimmt. Hier sieht die Init für diese NSView-Unterklasse aus.

%Vor%

Beachten Sie, dass die Reihenfolge des Festlegens des Layers und der Einstellungen wantsLayer sehr wichtig ist (wenn Sie zuerst "willSayer" festlegen, erhalten Sie stattdessen eine Standard-Backing-Ebene).

Sie können eine setImage-Methode verwenden, die einfach den Inhalt der Ebene aktualisiert.

    
Chris Demiris 03.08.2016, 19:48
quelle
12

Ich hatte das gleiche Problem. Ich wollte, dass das Bild so skaliert wird, dass es gefüllt wird, aber das Seitenverhältnis des Originalbildes beibehalten wird. Seltsamerweise ist dies nicht so einfach, wie es scheint, und kommt nicht mit NSImageView aus der Box. Ich wollte das NSImageView gut skalieren, während es mit Superview (s) skaliert. Ich habe eine Drop-In-NSImageView-Unterklasse erstellt, die Sie auf github finden können: KPCScaleToFillNSImageView

    
onekiloparsec 04.05.2014 17:52
quelle
1

Hier ist was ich benutze, geschrieben mit Swift. Dieser Ansatz funktioniert gut mit Storyboards - verwenden Sie einfach eine normale NSImageView, und ersetzen Sie dann den Namen NSImageView im Feld Class mit MyAspectFillImageNSImageView ...

%Vor%     
Pete 17.09.2017 09:12
quelle
0

Um AspectFit Eigenschaft von UIImageView in Cocoa NSImageView zu erhalten, verwenden Sie diese Methode

%Vor%

Hier finden Sie weitere Optionen zum Ändern der Bildanzeigeeigenschaft.

%Vor%     
Surjeet 29.07.2014 12:56
quelle
0

Sie können Folgendes verwenden: image wird gezwungen, die Ansichtsgröße zu füllen.

(Seitenverhältnis)

%Vor%


(Seitenverhältnis)

%Vor%


(Mitte oben)

%Vor%

Es funktioniert für mich.

    
whale 15.07.2016 05:20
quelle

Tags und Links