Пользовательский UIView, охватывающий UITabBar на iPhone, но не на iPad

Я создаю настраиваемый uiView, закрывающий окно. Он действует как приманка uiview в контроллере навигации. Так что мне пришлось сделать это так, чтобы закрыть панель навигации .... длинная история ...

Вот как это происходит.

self.searchPopDown.frame = CGRectMake(0, 20, self.navigationController.view.frame.size.width, self.navigationController.view.frame.size.height-20);

    self.searchPopDown.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

20 - это компенсация строки состояния.

Затем я просто добавляю представление в качестве подпредставления в окно приложения.

//this will add the view ontop of a modalViewController and support rotation!
UIWindow* window = [UIApplication sharedApplication].keyWindow;
if (!window) {
    window = [[UIApplication sharedApplication].windows objectAtIndex:0];
}

if ([[[window subviews] objectAtIndex:0] isKindOfClass:[SVProgressHUD class]]){
    //There is a chance that the window will be the SVProgressHUD in this case we need to get the main window.

    window = [[UIApplication sharedApplication].windows objectAtIndex:0];
}
    [[[window subviews] objectAtIndex:0] addSubview:self.searchPopDown];

Все это работает отлично и шикарно. Однако я заметил кое-что странное. На iPhone размер этого представления будет изменен, чтобы закрыть UITabBar в нижней части моего приложения. Но на iPad его размер изменяется правильно, чтобы компенсировать UITabBar. Есть идеи, почему?

Спасибо

=================

Вот несколько снимков экрана, описывающих проблему. Вот как это выглядит, когда представление загружается с поддельным представлением всего. Отображается представление (с точки зрения пользователя только вид и кнопки на панели навигации немного изменились. Когда вы выполняете поиск, это поддельное представление исчезает, открывая реальный вид ниже с результатами поиска. На ipad поддельный вид не не закрывает панель вкладок. Почему этого не происходит и на iphone?

панель вкладок iphone закрыта снизу

вид исчезает, как ожидалось

версия для ipad работает правильно

==========

edit 2 Еще одна странность. Я создаю сообщения журнала, чтобы узнать высоту навигационного контроллера. Он меняется на 49 в зависимости от того, отображаю ли я нормально или представляю как модальное представление и нет панели вкладок.

Таким образом, журнал говорит, что 431 должна быть правильной высоты. Я захожу в конструктор интерфейсов и настраиваю простой розовый вид, который измеряется на 431, и он выглядит великолепно :) Однако когда я вручную устанавливаю размер на 431, он не работает. Я должен установить размер 298, чтобы это работало правильно ... странно ...

Видите розовую полосу? Его высота буквально 431 ... и в журнале написано, что я так считаю ... но это не так: /

Сравнение розового размера

============

редактировать: 3

Я проследил это до фонового изображения с неправильным изменением размера логотипа пузыря ...


person Hackmodford    schedule 28.09.2012    source источник
comment
У вас есть макеты или скриншоты, описывающие, что вы хотите и что на самом деле происходит? Так будет легче увидеть проблему :)   -  person F.X.    schedule 05.10.2012
comment
Дайте минутку-две ... Я выкладываю скриншоты ...   -  person Hackmodford    schedule 05.10.2012
comment
Хм ... Во-первых, зачем делать полноэкранный просмотр? Будет проще сделать небольшой оверлей или всплывающее / модальное окно. Тогда можете ли вы проверить размер self.navigationController.view представления? Не могли бы вы вместо этого использовать размер ключевого окна?   -  person F.X.    schedule 05.10.2012
comment
Потому что это должно закрывать панель навигации. Если я использую модальное представление, оно будет закрывать панель вкладок ...   -  person Hackmodford    schedule 05.10.2012
comment
вы действительно кодируете эти цвета пользовательского интерфейса в Xcode?   -  person Daniel    schedule 06.10.2012
comment
Тебе не нравятся мои цвета? Или мой способ их реализации? Я всегда открыт для комментариев. Или, может быть, вы имеете в виду выбранную мной тему? Да, я люблю темную тему.   -  person Hackmodford    schedule 06.10.2012


Ответы (1)


Мне пришлось проверить «subview клипа» в родительском представлении, в котором было изображение ... Устранена проблема ...

person Hackmodford    schedule 05.10.2012
comment
Да ... когда ты делаешь такие странные вещи, это всегда больно, но прекрасно, когда это срабатывает ... - person Hackmodford; 06.10.2012
comment
Подсказка: рамка вашего представления не последняя во время viewDidLoad, но последняя в ViewWillAppear. Вам следует взглянуть на субъективно- objective-c.blogspot.ch/2011/08/ для жизненного цикла UIViewController. Еще один совет: не боритесь с фреймворком, как говорят инженеры Apple. У всех нас есть долгая история наших хаков, но часто это плохая идея, хаки имеют только одну цель: прекратить работу со следующей версией iOS. - person Geraud.ch; 12.10.2012