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?
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.
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
Tags und Links nsimageview