Подвид показывает основной вид внизу - PullRequest
2 голосов
/ 11 ноября 2010

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

theLaunch = [[firstLaunch alloc] init]; 

[window addSubview:theLaunch.view]; // it goes on top   
[window makeKeyAndVisible];

Вот скриншот ... вид снизу серый.alt text

Ответы [ 3 ]

3 голосов
/ 12 ноября 2010

Похоже, что у вас нет подпредставления должным образом "привязанного".Если в IB, то вы можете попробовать прикрепить подпредставление к нижнему краю содержащего представления.Ваш «основной вид», кажется, растягивается, чтобы вместить доступное пространство (которое изменяется при наличии строки состояния), в то время как ваш «вспомогательный вид» выглядит позиционированным (0,0).Может помочь что-то подобное:

alt text

Программно вы можете использовать функцию автоматического изменения размера UIView.Что-то вроде:

theLaunch.view.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin;

Насколько я уверен, что это актуальная проблема?Не так уверенно, как хотелось бы.

0 голосов
/ 12 ноября 2010

Ваше изображение, вероятно, имеет альфа-прозрачность в местах, где изображение ниже просвечивает. Если вы не хотите, чтобы этот эффект, вы должны воссоздать изображение без альфа (полностью непрозрачный).

Если по какой-то причине вы не можете воссоздать изображение, вы можете попробовать установить для свойства opaque свойства представления изображения значение YES (я не уверен, что это сработает) или добавить другое представление под изображением непрозрачный вид с непрозрачным фоновым цветом.

0 голосов
/ 11 ноября 2010

Где вы определяете свой пользовательский интерфейс для firstLaunch? Если он находится в nib-файле, вам нужно иметь theLaunch = [[firstLaunch alloc] initWithNibName:@"firstLaunch" bundle:nil];. Если вы вручную добавляете элементы интерфейса; где ты это делаешь? Если вы добавляете их вручную в ViewDidLoad, я думаю, вы должны это увидеть.

...