2013-12-11 2 views
0

У меня есть простое размещение в UILabel в коде моего приложения:Различного позиционирования на iOS7 IPad Mini и iOS6 IPad 3

headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 5, 884, 68)]; 
headerLabel.font = [UIFont fontWithName:@"HoboStd" size:64]; 
headerLabel.textAlignment = UITextAlignmentCenter; 
headerLabel.backgroundColor = [UIColor clearColor]; 
headerLabel.textColor = [UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:1.0f]; 
headerLabel.adjustsFontSizeToFitWidth = YES; 
[self.view addSubview:gameSpeaks]; 

На iOS6 IPad 3 текст показывает немного выше на экране, чем он находится на iOS 7 iPad Mini с тем же кодом, таким же .xib и всем остальным. Кто-нибудь знает, является ли это результатом iOS6 vs iOS7, или если это результат использования разных устройств или какой-либо другой проблемы, о которой я не знаю?

I ХОТИТЕ сказать, что iPad Mini показывал текст в том же положении, что и iPad 3, когда я тестировал его на iOS6, а затем я обновил его до iOS7 и заметил эту разницу. Если это проблема ОС, которая вызывает эту проблему, - что является предпочтительным способом тестирования версии ОС в коде, чтобы я мог переместить метку при необходимости на OS7-устройстве или OS6?

Большое спасибо!

ответ

2

Это результат iOS6 против iOS7, так как строка состояния теперь является частью представления.

В iOS7 все будет отображаться примерно на 20 пикселях дальше, чем в iOS6, и предыдущем, если вы не отрегулируете их.

В iOS6 и предыдущем, установив начало координат элемента UI на 0, он установил его на самый нижний край строки состояния. В iOS7 начало координат 0 теперь будет помещено в самый верхний край экрана, за (теперь прозрачным) статусом.

Вы можете получить текущую версию устройства с помощью:

[[UIDevice currentDevice] systemVersion] 
Смежные вопросы