2016-04-18 21 views
6

Czy ktoś z powodzeniem użył aparatu IKImageBrowserView z komputerem Retina Mac? Dostaje się to, że rozmiar obrazu jest szalenie błędnie interpretowany. Poprzednio używałem obrazów CGImage, które nie mają rozmiaru logicznego, więc ma sens, że przeglądarka nie może narysować odpowiedniego rozmiaru. Jednak przełączyłem się na NSImage, utworzony przy użyciu -initWithCGImage:size: i to nadal nie działa poprawnie.IKImageBrowser Wyświetl na ekranie siatkówki

Moje obrazy mają 244 x 184 piksele i powinny być rysowane w rozmiarze logicznym 122x92. Podczas przekazywania rozmiaru 122x92 są one rysowane zbyt duże, o szerokości około 180 pikseli. Jeśli przejdę dokładnie połowę tego, 61x46, rozmiar jest poprawny, ale obraz wygląda w dół i nie jest ostry. Jeśli przekażę 122x92 i uruchomię z NSHighResolutionCapable ustawionym na NO w Info.plist, wszystko działa dobrze.

Mój wniosek jest taki, że IKImageBrowserView nie jest kompatybilny z Retina nawet z 10.10 SDK na komputerze MacBook Pro Retina z systemem OS X 10.11. Czy może czegoś brakuje? Wszelkie wskazówki będą mile widziane!

Odpowiedz

0

Odkryłem, że tak naprawdę nie myślałem o właściwej drodze. Przeglądarka ma zawsze skalować swoje obrazy, dlatego obrazy w rozmiarze Retina stały się większe. Właśnie podklasowałem przeglądarkę, aby móc używać niestandardowej komórki i dostosowywać ramkę obrazu do każdej komórki. Istnieje jednak kilka drobnych błędów w przeglądarce, które powodują skalowanie obrazów tylko trochę w trybie Retina, ale udało mi się obejść to, tworząc niestandardową warstwę pierwszego planu dla każdej komórki, która zawiera obraz bez skalowania. Problem rozwiązany. Mam nadzieję, że to pomoże komuś innemu w przyszłości.

Powiązane problemy