Приветствую всех, что я новичок. Я создаю приложение, которое будет работать в ios5, а также ios7. Моя проблема в том, что когда я устанавливаю кадр изображения для ios5 на дисплее отлично в симуляторе, но когда я запускаю его на устройстве, то Y-координата автоматически увеличивается, а положение изображения меняется. Пожалуйста, скажите мне, почему это происходит и как для установки фреймов для разных устройств в одном приложении.Как установить фреймы для нескольких устройств в ios?
ответ
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1){
//IOS 6
}
else if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1){
//IOS 7
}
Вы можете попробовать это, этот код предоставит вам версию ios. Дайте мне знать, если это помогает .. :)
Edit:
Если вы хотите, чтобы получить размер экрана попробуйте следующий код:
CGRect screenRect = [[UIScreen mainScreen] bounds];
if (screenRect.size.height == 568) {
//Its IPhone 5
}
else if (screenRect.size.height == 480){
//Its below iPhone 5
}
Вы не должны использовать 'systemVersion', чтобы проверить, какая версия iOS работает. Но вы должны проверить версию фундамента: 'if (floor (NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1)' – rckoenes
@rckoenes Имеет ли системная версия какой-либо плохой эффект? Я не знаю. Дайте мне знать об этом, я отредактирую свой ответ. – Rashad
Ну, 'systemVersion' - это просто строка, которую вы бросаете в поплавок. Затем сравнивая. «FoundationVersionNumber» - это количество SDK подстрочного слоя, так сказать, и используется для определения изменений в нем. Apple предлагает вам использовать 'foundationVersionNumber' для обнаружения версий iOS. Например, Apple TV является systemVersion отличается от номера версии iOS, но не формирует номер основания. – rckoenes
Вы не должны проверить устройства или iOS для этого. Вы должны использовать автомасштабирование или маскирование UIView Autoresizing. Существуют различные видеоролики WWDC по этим темам.
Это не iOS, который является основанием для изменения, это iPhone <5 и iPhone5, который делает разницу. Если вы хотите, чтобы ваш вид в той же позиции просто удалял автозапуск –
Почему вы поддерживаете iOS 5 или даже iOS 6? Учитывая, что iOS 7 находится на ~ 80% всех устройств, если вы специально не нацелились на более старые устройства, вы можете сэкономить много хлопот, перейдя только на iOS 7. – CaptainRedmuff