Почему при использовании контроллера UINavigation / UITabbar размер моего UIImageview изменяется или уменьшается - PullRequest
0 голосов
/ 07 сентября 2011

У меня есть приложение с основным видом, которое имеет UITabBarController с 5 вкладками. Каждая вкладка представляет собой UINavigationController.

В конструкторе интерфейсов я настраиваю фон каждой страницы, перетаскивая UIImageView и устанавливая его в полноэкранном режиме. Изображение, которое я устанавливаю для вида, составляет 640x960. Я устанавливаю это как Aspect Fill.

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

Кроме того, при добавлении нового вида в контроллер навигации фон этого нового вида не смещается так же, как на панели вкладок, и также слегка затемняется.

Как я могу установить свой UIImageViews на каждой странице, чтобы он был корректным, и заполнить экран 1: 1? Кроме того, как можно отключить затемнение при перемещении вида на контроллер навигации?

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

Ответы [ 2 ]

0 голосов
/ 07 сентября 2011

Может быть, вам нужно установить все AutoresizingMask , чтобы правильно изменить размер UIImageView для каждого представления.А для основного соотношения сторон вы должны использовать AspectFill или AspectFit в contentMode.

0 голосов
/ 07 сентября 2011

Предполагая, что вы используете IB для настройки ваших представлений, вы должны выбрать параметры панели навигации / вкладки, чтобы отразить то, что будет на текущей странице. Это должно правильно разместить ваше изображение. Я бы также порекомендовал вам сделать фоновые изображения как в низком, так и в высоком разрешении - 320х480 и 640х960. Конечно, ваш размер может потребоваться изменить (уменьшить) для панели навигации и / или панели вкладок, которая оставит менее 960 пикселей по вертикали - вероятно, больше похоже на 920 пикселей, если вы находитесь в портретном режиме. Затем вы добавляете @ 2x к базовому названию версии высокого разрешения, это будет учитывать старые экраны iPhone.

После правильного размещения изображения изменение размера не требуется. Вы можете сделать так, чтобы изображение автоматически изменяло ширину и высоту, используя маленькие стрелки на странице макета - это немного сложно описать. Это также может быть сделано в коде - если вам все еще нужно, я могу предоставить пример.

...