Как узнать, масштабируется ли приложение Springs and Struts в симуляторе iPhone 6?
У меня есть пара приложений, созданных с предварительным автоматическим макетом (но с Springs и Struts для поддержки iPhone 5+), которые я пробую в симуляторе iPhone 6 и 6 Plus, и они на самом деле выглядят довольно неплохо. Тем не менее, я не могу сказать, действительно ли пружины и распорки выполняют свою работу так сказать, или они просто масштабируются. Там должно быть что-то очевидное, что я скучаю, где это говорит, что? Кроме того, приложения автоматической разметки просто автоматически конвертируются при перекомпиляции с последним SDK для iPhone 6, чтобы они не просто масштабировались, если предоставляется 3X обложка (в случае 6 Plus)?
3 ответа
Вы можете легко увидеть, работает ли ваше приложение в режиме масштабирования, выведя границы и собственный экран границ основного экрана:
println("bounds = \(UIScreen.mainScreen().bounds)")
println("nativeBounds = \(UIScreen.mainScreen().nativeBounds)")
Без назначенных стартовых изображений выход симулятора iPhone 6 Plus:
bounds = (0.0,0.0,320.0,480.0)
nativeBounds = (0.0,0.0,960.0,1440.0)
Родные границы в 3 раза превышают масштабированные. Это причина @3x display.scale.
В случае iPhone 6 Plus nativeScale
также помогает:
println("main screen native scale = \(UIScreen.mainScreen().nativeScale)")
println("main screen scale = \(UIScreen.mainScreen().scale)")
nativeScale
всегда будет 3.0
, scale
будет 2.0
если симулятор делает масштабирование.
Чтобы получить полное представление о новых решениях, смотрите эту великолепную запись в блоге: http://www.paintcodeapp.com/news/iphone-6-screens-demystified
Используйте другой стартовый образ для iPhone 6, iPhone 6 Plus и всего остального. Если вы видите определенный образ обеда, вы знаете, что ваше приложение не масштабируется и работает в собственном разрешении устройства.
Единственный способ, которым я смог сказать, - это пойти домой и посмотреть, был ли текст в строке состояния меньше, чем в моем приложении. Меньшая строка состояния домашнего экрана означает, что она масштабируется. Если текст строки состояния в вашем приложении в симуляторе iPhone 6 имеет тот же размер, что и на главном экране симулятора, то вместо масштабирования он использует ваши пружины / распорки или автоматическое расположение