2016-04-18 15 views
6

Hat jemand erfolgreich eine IKImageBrowserView mit einem Retina Mac verwendet? Was ich bekomme, ist, dass die Bildgröße wild falsch interpretiert wird. Früher habe ich CGImage Bilder verwendet, die keine logische Größe haben, also macht es Sinn, dass der Browser die nicht in der richtigen Größe zeichnen kann. Allerdings habe ich auf NSImage umgeschaltet, erstellt mit -initWithCGImage:size: und das funktioniert immer noch nicht richtig.IKImageBrowserView auf Retina Bildschirm

Meine Bilder sind 244x184 Pixel und sollten mit einer logischen Größe von 122x92 gezeichnet werden. Wenn 122 x92 als Größe übergeben werden, sind sie viel zu groß gezeichnet, mit etwa 180 Pixel Breite. Wenn ich genau die Hälfte passiere, 61x46, ist die Größe korrekt, aber das Bild sieht verkleinert und nicht scharf aus. Wenn ich 122x92 übergebe und mit NSHighResolutionCapable in Info.plist auf NO läuft, funktioniert alles gut.

Meine Schlussfolgerung ist, dass IKImageBrowserView ist nicht Retina kompatibel sogar mit dem 10.10 SDK auf einem Retina MacBook Pro unter OS X 10.11. Oder fehlt mir etwas? Irgendwelche Hinweise würden geschätzt werden!

Antwort

0

Ich entdeckte, dass ich nicht wirklich den richtigen Weg dachte. Der Browser sollte seine Bilder immer skalieren, deshalb wurden die Bilder in Retina-Größe größer. Ich habe den Browser einfach subclassiert, um eine benutzerdefinierte Zelle verwenden und den Bildrahmen pro Zelle anpassen zu können. Es gibt jedoch einige subtile Fehler im Browser, die dazu führen, dass die Bilder im Retina-Modus nur ein wenig skaliert werden, aber ich konnte das umgehen, indem ich für jede Zelle, die das Bild enthält, eine benutzerdefinierte Vordergrundebene ohne Skalierung erstelle. Problem gelöst. Hoffentlich hilft das jemand anderem in der Zukunft.