Совместимость размера приложения для iPhone

Я делаю приложение для iPhone и использую раскадровку для большей части пользовательского интерфейса. Я использую xCode 4.6 для iOS 6.

Есть ли способ заставить приложение работать как для размера iphone4, так и для размера iphone5?

Когда я запускаю приложение на симуляторе iPhone 4, оно выглядит не так, как должно - элементы пользовательского интерфейса выглядят не так, как на раскадровке (я полагаю, использует размер iPhone5).

Дайте мне знать, если вам нужно больше информации.

1 ответ

Вы можете динамически получать доступ к высоте вида и устройства, а затем вносить коррективы на основе этих значений. В качестве альтернативы вы можете использовать ограничения iOS 6, чтобы установить поле между нижней частью устройства или между другими элементами.

Чтобы достичь первого, просто перейдите к свойству height вида:

CGFloat height = [[self view] frame].size.height;

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

CGFloat deviceHeight = [[UIScreen mainScreen] bounds].size.height;
deviceHeight -= 20; // remove the tab bar
deviceHeight -= 44; // remove height for a navigation bar?

А теперь представьте, как настроить происхождение вашего представления на основе этого значения. Вы можете сделать так, чтобы он обнимал нижнюю часть устройства, независимо от того, на каком вы находитесь.

[aView setFrame:CGRectMake(10, deviceHeight - 10 - 100, 300, 100)];

Если вы не можете настроить расположение элементов, подумайте и об использовании прокрутки. Просто установите кадр, используя методы выше, а затем установите размер контента. На меньших устройствах вы сможете прокручивать, чтобы увидеть больше контента, в то время как на больших устройствах все будет в порядке.

Другие вопросы по тегам