2013-04-07 1 views
0

У меня есть приложение, которое содержит UITabBar и UINavigationBar который выглядит следующим образом:UIImageView/UIButton AUTORESIZE неправильного значения кадра на второй и последовательном зрении

First time, intended outcome.. perfect

Внутри зрения, у меня есть 2 подвидов, которые занимают верхние наполовину (красный цвет) и нижняя половина (зеленый цвет) одинаково, внутри этих 2 представлений у меня есть UIImageView (или UIButton, которым я назначаю фоновое изображение, я тестировал оба объекта). Я назначаю позицию и значение авторезистора с помощью конструктора интерфейсов, и все выглядит правильно, когда я впервые представляю контроллер представления, тем самым отображая представление, содержащее два подзаголовка.

Однако, когда я перехожу к другой вкладке в панели вкладок или с помощью навигационного контроллера и снова возвращаюсь к конкретному виду, и UIButton идет наперекосяк .. внутри viewDidAppear, размер больше не правильный (высота становится в два раза), и UIButton на 2-м зрения имеет Y, который настолько велик, он вышел из экрана

second and consecutive show... awful

Я отладки и настройки свойств на весь день, но не может понять, что пошло не так. Я заметил, что если я не проверю флажок [Autoresize subviews] для UIViews (красные и зеленые виды), макет будет совершенно неповрежденным, и проблема исчезнет. Тем не менее, это не намеренное поведение, так как я хотел бы, чтобы UIButton (вместе с его backgroundImage) растягивался и динамически развивался на iPad и 4-дюймовых экранных устройствах.

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

root view settings

top view settings

top UIButton/UIImageView settings

+0

, так как он работает так хорошо, на первый раз, показывая на экране, каждый раз, когда я перейти к другой UIViewController, я ll освободить нарушающий вид VC и установить его на нуль .. он работает таким образом, хотя и не изящным решением ... – Zennichimaro

+0

примечание для себя: проще отладить иерархию представлений с рекурсивным представлением UIViewDescription http://iosdevelopertips.com/debugging/ отладка-с-GdB-распечатке объекта-и-UIView-рецидивирует ivedescription.html – Zennichimaro

ответ

0

Установите свои изображения в качестве фона кнопки кнопки «Не для кого». Изображение в качестве фона кнопки будет растягиваться, но изображение в качестве кнопки переднего плана не будет.

или набор изображений, чтобы быть не эластична, используя ниже код

//For image as background  
[button setBackgroundImage:image forState:UIControlStateNormal]; 

//For image as foreground 
[button setImage:image forState:UIControlStateNormal]; 

С уважением, Рави

+0

Спасибо за помощь, но это не сработает ... Я попытался изменить UIButton на UIImageView, но он также не работает ... одна вещь, которая является wierd, находится на втором и последующем представлении, вид сверху расширился, чтобы охватить весь экран. Я установил нижний вид как прозрачный и увидел красное покрытие всего экрана, оно не происходит в первый раз, щелкнув вкладку, которая содержит представление, хотя :( – Zennichimaro

+0

@ Zennichimaro, попробуйте установить ContentMode на UIImageView Button Button –

+0

@ Zennichimaro, как вы пойдите с этим? –

 Смежные вопросы

  • Нет связанных вопросов^_^