Почему два разных UIToolbars по умолчанию используют разные стили? - PullRequest
1 голос
/ 21 марта 2012

Рассмотрим следующие две панели инструментов, которые находятся в одном и том же моем проекте:

enter image description here enter image description here

Обратите внимание, что эти панели инструментов выглядят по-разному? Проблема в том, что они оба были созданы путем перетаскивания их в IB, и я не изменил ни одного из связанных свойств. Все, что я изменил, это добавило контроллер flex и изменил текст на начальный UIButtonBarItem. Кроме этого, эти Панели инструментов не были изменены, и, кроме того, я убедился, что их свойства в Инспекторе атрибутов точно такие же.

Чем или чем они отличаются? Кроме того, как я могу получить первый голубоватый UIToolbar, похожий на серый, поскольку доступные стили Black Opaque и Black Translucent не похожи на серый?

Я что-то упустил? Это не делает с тех пор.

1 Ответ

0 голосов
/ 21 марта 2012

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

Эти панели инструментов изменены из-за внутренних настроек Xib, которые указываются при создании Xib. В первом примере, когда я создал UIViewController, я, должно быть, снял флажок Target для iPad , даже это для проекта iPad.

When the Targe for iPad option is not checked, Toolbars (and presumedly other UIView objects) will be styled differently.

Это изменило размер по умолчанию исходного UIView, который был в Nib. Я всегда отключаю строку состояния и устанавливаю представление произвольного размера при настройке размера, как только создаю UIView в файле Xib, так что я никогда не могу определить, глядя на мои представления, предназначены ли они для iPad или нет.

Когда я создал второй объект UIViewController, я установил флажок Targeted for iPad . Теперь моя панель инструментов оформлена в серых тонах.

Извлеченный урок очевиден: если вам нужна согласованность в стиле по умолчанию для ваших объектов, которые вы извлекаете из IB Toolbox, обязательно создайте UIViewControllers, специально предназначенный для устройства iOS. Если вы допустили ту же ошибку, что и я, следуйте приведенному выше связанному вопросу, чтобы узнать, как вернуть ваш UIViewController и Xib-файл в другой стиль View Controller.

...