2016-04-18 28 views
6

Qualcuno ha utilizzato con successo un IKImageBrowserView con un Retina Mac? Quello che ottengo è che la dimensione dell'immagine è erroneamente interpretata erroneamente. Precedentemente stavo usando le immagini CGImage che non hanno una dimensione logica, quindi ha senso che il browser non possa disegnare alla giusta dimensione. Tuttavia, sono passato a NSImage, creato utilizzando -initWithCGImage:size: e che ancora non funziona correttamente.IKImageBrowserView sullo schermo retina

Le mie immagini sono 244x184 pixel e devono essere disegnate con una dimensione logica di 122x92. Quando si passa 122 x 92 come dimensione, vengono disegnati in modo troppo grande, a circa 180 pixel di larghezza. Se passo esattamente la metà di questo, 61x46, la dimensione è corretta, ma l'immagine appare ridotta e non nitida. Se passo 122 x 92 e corro con NSHighResolutionCapable impostato su NO in Info.plist, tutto funziona correttamente.

La mia conclusione è che IKImageBrowserView non è Retina compatibile anche con l'SDK 10.10 su un MacBook Pro Retina con OS X 10.11. O mi sta sfuggendo qualcosa? Qualsiasi suggerimento sarebbe apprezzato!

risposta

0

Ho scoperto che non stavo davvero pensando nel modo giusto. Il browser dovrebbe ridimensionare sempre le immagini, quindi è per questo che le immagini retiniche sono diventate più grandi. Ho appena creato una sottoclasse del browser per poter utilizzare una cella personalizzata e personalizzare la cornice dell'immagine per cella. Ci sono tuttavia alcuni sottili bug nel browser che lo fanno ridimensionare le immagini solo un po 'in modalità Retina, ma sono stato in grado di aggirarlo creando un livello in primo piano personalizzato per ogni cella che contiene l'immagine senza ridimensionamento. Problema risolto. Speriamo che questo possa aiutare qualcun altro in futuro.