2014-11-07 2 views
0

Я использую Xcode 6.1 с OS X Yosemite, перед нами стоит проблема, связанная с раскадровкой. Раскадровка ведет себя как iPhone на iPad mini, но работает как ожидается с iPad2, эта проблема связана только с раскадровки с системой systemVersion 3.0, но не с более низкой версией, такой как версия 2.0.Storyboard systemVersion 3.0 ведет себя как iPhone на iPad mini (7,9 дюйма), но не на iPad2 (9,7 дюйма)

Ниже мой IPad мини скриншот (Я не хочу раскадровка вести себя как этот) enter image description here

и вот мой iPad2 9,7 дюйма (Я хочу, чтобы это поведение для IPad мини слишком) enter image description here

Я хочу , чтобы сделать это приложение только для IPad так моя конфигурация проект, как это enter image description here

, но когда я изменить его конфигурацию устройства IPad в Юниверсал он работает, как ожидалось в обоих IPad мини и iPad2. Но я не хочу развертывать на iPhone.

enter image description here

Вот мой Раскадровка SystemVersion 3,0 смотреть исходный код enter image description here

и когда я внести изменения в XML SystemVersion раскадровке на 2,0 и targetRuntime к iOS.CocoaTouch.iPad он снова работает как и ожидалось в iPad mini и iPad2, но снова возникает проблема, когда я делаю небольшие изменения в раскадровке, например, перемещаю один пиксель на ярлык или кнопку или любой объект. Xcode обновит его систему mVersion вернется к 3.0 и targetRuntime в iOS.CocoaTouch, что приведет к тому, что раскадровка снова будет работать как iPhone на iPad mini. enter image description here

Я не нашёл никакого решения по interNet и самому себе.

+0

Вы используете классы размера в своем раскадровке? – matt

+0

Да, я использую классы autoLayout и size. –

+0

Но у iOS 7 нет классов по размеру ... Итак, ваша раскадровка несовместима с iOS 7. Вы не можете ее развернуть. Это проблема. – matt

ответ

-1

Вы не можете использовать класс размера с iOS7, поскольку концепция класса размера была введена в iOS 8. Поэтому Удаление этого класса размера из раскадровки будет работать на вас.

1

Вы можете использовать размер Классов с версией IOS ранее прошивка 8. Apple documentation states:

Развертыванием приложения с Размером классами в более ранних версиях IOS

Для приложений, поддерживающих версию прошивки ранее iOS 8, большинство размеров классы обратно совместимы.

классы Размер имеют обратную совместимость, когда:

  • приложение построен с использованием Xcode версии 6 или более поздней версии
  • Цель развертывания приложения является более ранней, чем прошивкой 8
  • классы Размер указаны в раскадровка или XIB
  • значение компонента высоты не является компактным

Материал раскадровки XML не должен редактироваться напрямую. Это не решит ни одну из ваших проблем надежным способом, особенно если вы не начнете изменять нумерацию версий, чтобы фактический сгенерированный контент раскадровки был другой версией, чем то, что кажется из заголовка.

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