iPad Mini 화면 크기 다루기
새로운 iPad Mini의 화면 크기는 7.9 인치입니다. 레티 나 디스플레이가 있습니까? 기존 xib와 스토리 보드의 크기를 자동으로 조정합니까? 아니면 각각 두 가지 버전을 만들어야합니까?
우리는 iPhone 5를 다루는 방식과 비슷하게 다루나요?
장치가 iPad Mini를 실행 중인지 확인하기위한 정의 또는 조건을 어떻게 생성합니까?
앱이 iPad 1 또는 iPad 2에서 작동하는 경우 새로운 iPad mini에서 그대로 작동합니다. 미니에는 레티 나 디스플레이가 없습니다. 앱의 관점에서 보면 iPad 2와 동일합니다.
편집 : iPad mini에서 앱이 실행되는시기를 확인하는 방법에 대해 질문했습니다. 이에 대한 API 검사가 없습니다. 화면 크기는 도움이되지 않습니다. UI_USER_INTERFACE_IDIOM()
도움이되지 않습니다. 누군가가 실제로 하나를 가질 때까지 UIScreenMode pixelAspectRatio
그것이 다른지 알 수있는 방법이 없습니다 (아마도 iPad 2와 동일 할 것입니다).
이 잎 하나의 가능성 일 -받을 machine
에서를 uname()
이 값에 대한 검사를 하드. 이것은 결코 바람직한 접근 방식이 아닙니다. 그리고이 글을 쓰는 현재 우리는 그 가치가 무엇인지 모릅니다. 아마도 iPad5, X 4 세대 아이 패드는 가정 , iPad4 X를 .
편집 : 지금까지 iPad mini가 iPad2,5 (예, 2 개의 쉼표 5)와 iPad2,6 및 iPad2,7을 컴퓨터 이름으로 반환한다는 보고서를 보았습니다.
앱이 잘 작동합니다. 그러나 매우 작은 UI 요소가 있다면. 화면 크기가 줄어들 기 때문에 다시 방문하는 것이 좋습니다.
iPad 2 해상도 용 앱을 빌드합니다. 새로운 iPad Mini는 해상도가 1024x768 인 레티 나가 아닙니다. 즉, 이미 iPad 1 또는 iPad 2에서 작동했던 앱이 iPad Mini에서 자동으로 작동합니다.
필 쉴러 (Apple의 수석 부사장) 가 iPad Mini를 공개하는 언론 행사 에서 최고라고 말한 것 같습니다 (기조 연설에서 약 53:00).
어떤 화면 크기를 선택하고 그 이유는 무엇입니까? 그리고 팀은 이것에 대해 정말 열심히 생각했습니다. 우리는 개발자가 작업을 수행하지 않고도 iPad 용으로 작성된 모든 놀라운 소프트웨어를 실행할 수있는 iPad를 원합니다.
그런 다음 그는 다음과 같이 말합니다.
... 그리고 픽셀은 정확히 동일하기 때문에 기억하기가 훨씬 더 쉽습니다. 원래 iPad와 iPad 2는 1024 x 768이고 새로운 iPad Mini는 1024 x 768입니다. 즉, iPad 용으로 제작 된 모든 소프트웨어는 iPad Mini에서 변경되지 않고 작동합니다.
요약하면, 질문에 답하기 위해 iPad Mini에는 Retina 디스플레이가 없으며 추가 작업을 할 필요가 없습니다. iPad Mini는 이미 iPad 용으로 만든 스토리 보드 또는 xib를 활용합니다.
그런 다음 탐지가 진행되는 한 아직이를 증명할 수있는 것이 없습니다 (아직 출시되지 않았기 때문에). 그러나 다음이 "iPad Mini"를 출력 할 것이라고 확신합니다.
NSLog(@"%@",[[UIDevice currentDevice] model]);
편집하다:
NSLog(@"\nMachine ID: %@\nModel: %@\nLocalized Model: %@",machineName(),[[UIDevice currentDevice] model],[[UIDevice currentDevice] localizedModel]);
NSString *machineName()
{
struct utsname systemInfo;
uname(&systemInfo);
return [NSString stringWithCString:systemInfo.machine
encoding:NSUTF8StringEncoding];
}
16GB iPad Mini (Wifi 전용)에서 다음을 반환합니다.
컴퓨터 ID : iPad2,5
모델 : iPad
현지화 된 모델 : iPad
아이 패드 미니와 레티 나가 아닌 아이 패드가 화면 크기와 상관없이 동일하다면, 기기 화면이 아이폰 5인지 아이폰 4인지 판단하는 데 사용되는 것과 같은 것을 사용할 수 없습니까?
#define IS_WIDESCREEN5 ( [ [ UIScreen mainScreen ] bounds ].size.height == 568 )
#define IS_WIDESCREEN4 ( [ [ UIScreen mainScreen ] bounds ].size.height == 480 )
따라서 iPad Mini 및 비 Retina iPad의 경우 다음을 수행하십시오.
#define IS_PAD ( [ [ UIScreen mainScreen ] bounds ].size.height == 512 )
그리고 레티 나 아이 패드의 경우 :
#define IS_RETINA_PAD ( [ [ UIScreen mainScreen ] bounds ].size.height == 1024 )
이렇게하면 두 가지 유형의 화면을 구분할 수 있으며 확장 목적을 위해 정확한 모델을 정확히 찾아 낼 필요가 없습니다. 다른 방법은 자동 레이아웃을 사용하는 것이지만, 자동 레이아웃 없이는 더 나은 제어 느낌이 있습니다.
질문의 두 번째 부분에 도움이되기를 바랍니다. 행운을 빕니다 :)
당신은 다른 것을 할 필요가 없습니다. 애플에서 언급 한대로 자동으로 작동합니다. 해상도는 여전히 iPad와 동일합니다.
iPad mini는 비 레티 나 iPad와 동일한 해상도를 사용하고 iOS는 1x 그래픽을 사용합니다. 이 링크를 참조하십시오 ... 링크
Images for ipad mini will be same for ipad 1 and 2. But it is recommended you use @2x images for retina screen too. Because, once your app is on app store, you cannot stop people from downloading it on ipad with retina display.
So at this point of time, you'll have to make images for both retina and non retina.
Programatically, separate xib files are NOT required for ipad retina display. Just keep imageName@2x.png too for all image assets.
To detect iPad Mini (any model) i'm using this code (tested on iOS 10.x):
- (BOOL)isIPadMini {
return [[UIDevice currentDevice].name hasPrefix:@"iPad Mini"];
}
참고URL : https://stackoverflow.com/questions/13036745/dealing-with-ipad-mini-screen-size
'development' 카테고리의 다른 글
ValueError : 파이썬 형식의 길이가 0 인 필드 이름 (0) | 2020.12.03 |
---|---|
Core Data에서 기존 개체를 업데이트하는 방법은 무엇입니까? (0) | 2020.12.03 |
CSS 또는 JavaScript에서 이미지 색상 반전 (0) | 2020.12.03 |
프로젝트에있는 폴더에서 파일 읽기 (0) | 2020.12.03 |
버튼을 점프시키는 부트 스트랩 툴팁 (0) | 2020.12.03 |