Странное поведение симулятора iPhone 4 — UITextViews расположены друг над другом

Я только что закончил свое приложение для iPhone на основе раскадровки (я разрабатываю для iPhone 5). Непосредственно перед отправкой в ​​магазин приложений я решил убедиться, что на iPhone 4 все выглядит нормально. Поэтому я запускаю свое приложение в симуляторе с iPhone 4.

И то, что я вижу, ставит меня в тупик. По сути, каждый объект представления, особенно текстовое представление, накладываются друг на друга. В основном все, что можно прокручивать, перепутано. Даже в некоторых текстовых представлениях для начальной позиции прокрутки установлено значение 100 пикселей, что означает, что текстовое представление показывает середину содержимого в текстовом представлении, и нет возможности прокрутить вверх.

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

Я один столкнулся с этим? Я не могу найти ни одного поста об этом. Может быть, что-то не так с моим симулятором? Какую настройку я пропустил? Единственное решение, которое я могу сейчас придумать, это иметь отдельный SB для iP4 и iP5, но я действительно не хотел бы мучиться с этим. Любые комментарии или идеи очень ценятся.

Как это выглядит

введите здесь описание изображения

введите здесь описание изображения


person Lindros    schedule 10.02.2013    source источник


Ответы (1)


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

Автомасштабирование области инспектора размеров

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

person Kekoa    schedule 10.02.2013
comment
Вы уверены, что он установлен правильно для каждого представления? Он установлен для всех видов, которые размещены неправильно? Любые элементы управления, созданные в коде, также должны быть правильно настроены. Это должно быть все, что вам нужно, если вам требуется лишь незначительное растяжение и изменение положения для совместимости с iPhone 5 и 4. Вы не должны делать отдельный xib, если представления не сильно отличаются, что обычно не должно иметь место. - person Kekoa; 10.02.2013
comment
Чтобы установить в коде: developer.apple.com/library/ios/#documentation/windowsviews/ - person Kekoa; 10.02.2013
comment
извините, я должен использовать Показать: прямоугольник кадра или Показать: прямоугольник макета? Или что вы имеете в виду, что я должен изменить в инспекторе размеров? Я мог неправильно вас понять. То, что вы говорите, звучит разумно - person Lindros; 10.02.2013
comment
Область авторазмера. Вы можете сделать ширину или высоту гибкой, а затем также закрепить верхнюю, левую, правую или нижнюю часть родительского вида. В области примера показано, как этот вид растягивается и сжимается вместе с родительским видом. - person Kekoa; 10.02.2013
comment
О, хорошо, у меня нет этого в моем инспекторе по размерам. Я загрузил картинку и поместил ее в свой вопрос, чтобы вы могли ее увидеть. Как я могу просмотреть этот Autosizing? - person Lindros; 10.02.2013
comment
Я нашел это сейчас, мне пришлось отменить автоматическое изменение размера. Пробуем, пока мы говорим. Голый со мной - person Lindros; 10.02.2013
comment
Похоже, у вас включена автоматическая раскладка. Это совершенно другое животное, чем простое автоматическое изменение размера. Auto Layout также требует iOS 6+. - person Kekoa; 10.02.2013
comment
Хорошо понял. Должен ли я изменить Arrange: , изменить объекты, выглядящие на панели ошибок, внутри рамки автоматического изменения размера? Я никогда не использовал это раньше - person Lindros; 10.02.2013
comment
Нажмите на красные стрелки и линии. Может быть, это поможет. techotopia.com/index.php/ . Не забудьте проголосовать, если вы нашли ответ полезным. - person Kekoa; 10.02.2013
comment
обязательно сделаю, просто надо разобраться. На самом деле не знаю, на какие стрелки нажимать, но, надеюсь, ваша ссылка подскажет мне - person Lindros; 10.02.2013