2013-09-06 2 views
12

내 UITabBar 용 이미지를 만들고 있습니다. 나는 그것들을 크기 60x60으로 만들고 있습니다, 왜냐하면 그것은 망막 스크린들이 사용하는 것이기 때문입니다. 그러나 그 크기를 사용하면 막대에 너무 크게 표시되므로 이미지의 일부만 볼 수 있습니다. 30x30으로 줄이면 작동하지만 그 크기는 망막이 아닌 디스플레이를위한 것입니다. 60x60을 사용하면 왜 제대로 표시되지 않습니까?UITabBarItem 이미지 크기

+5

확인하십시오 60X60 망막 이미지가'2x' 접미사 @에서와 이름 확인 :

// Select an image named "my-image.png" UIImage *img = [UIImage imageNamed:@"my-image.png"]; // If the device this code is run on is a retina device, // then Xcode will automatically search for "[email protected]" and "[email protected]" // otherwise, it will use "my-image.png" 

당신은 애플 개발자 사이트를 통해 주제에 대한 자세한 내용을보실 수 있습니다 : 여기

코드 예제 파일명. – rmaddy

+0

고맙습니다. – user2397282

+0

가능한 [iOS7 Tabbar 아이콘이 너무 큽니다] (http://stackoverflow.com/questions/22166644/ios7-tabbar-icons-too-big) –

답변

6

iOS가 표준 해상도 이미지를 찾고있을 때 고해상도 이미지를 제공했기 때문에 이러한 문제가 발생했습니다.

iOS는 액세스하는 기기의 해상도에 따라 자동으로 적절한 이미지 크기를 선택합니다. 따라서 망막이 아닌 다른 장치의 경우 "표준 해상도"이미지를, 망막 디스플레이의 경우 "고해상도"이미지를 제공해야합니다. 당신이 아이폰 OS에서이 작업을 수행하는 방법은 파일 이름의 끝에 "@ 2 배"를 추가하는 것입니다,하지만이 같은 파일 확장자 이전 :

다음
my-image.png  // for non-retina displays (Ex: 30x30 dpi) 
[email protected] // for retina displays (Ex: 60x60 dpi) 
[email protected] // for retina displays(plus editions) (Ex: 90x90 dpi) 

, 당신은 당신의 Xcode 프로젝트에서 파일을 참조 할 때, 당신 파일 이름을 표준 해상도 (예 : "my-image.png")로 제공하고 액세스하는 장치에 망막 디스플레이가있는 경우 XCode가 자동으로 "@ 2x"접미사가있는 파일을 선택합니다. 이것은 개발자가 장치에 망막 디스플레이가 있는지 여부와 우리가 제공해야하는 이미지를 감지하지 않아도되기 때문에 매우 편리합니다. Optimizing for High Resolution