2013-04-23 10 views
5

Podczas testowania aplikacji napotkałem problem. Wszystko działało bez zarzutu, dopóki nie włączę osobistego punktu aktywnego, a na górze pojawi się niebieski pasek. etykiety i przyciski są przesuwane w dół:Układ mojej aplikacji jest zniszczony, gdy wyświetlany jest pasek stanu połączenia lub punktu aktywnego.

enter image description here

Edycja: (23-4-2013)

kodeks viewDidLoad jest:

- (void)viewDidLoad 
{ 
    day1Times = [[NSMutableArray alloc] init]; 
    day2Times = [[NSMutableArray alloc] init]; 
    day3Times = [[NSMutableArray alloc] init]; 
    day4Times = [[NSMutableArray alloc] init]; 
    day5Times = [[NSMutableArray alloc] init]; 
    day6Times = [[NSMutableArray alloc] init]; 
    day7Times = [[NSMutableArray alloc] init]; 
    [self performSelector:@selector(sendTokenIDSelector) withObject:nil afterDelay:0.1]; 
    [self performSelectorInBackground:@selector(getTimes) withObject:nil]; 
    [super viewDidLoad]; 

} 

Edycja: (24-4-2013)

Konfiguracja ograniczenia jest następujący:

enter image description here

Jak mogę ustalić ich lokalizację i zachować co nie poruszać niezależnie od statusu bar?

+0

Czy możesz pokazać nam swoje kody, szczególnie 'viewDidLoad()'? – Raptor

+0

Gdzie i jak dodaje się obraz tła? –

+0

Upewnij się, że maski autoreize są ustawione prawidłowo i możesz przetestować to w symulatorze, naciskając Cmd + T – WDUK

Odpowiedz

1

Problem wynika z autorezjowania maski w obrazie. Powinieneś ją zahaczyć do krawędzi, aby nie rozciągały się po pojawieniu się powiadomienia.

Otwórz narzędzie do sprawdzania rozmiaru za pomocą opcji Narzędzia -> Inspektor rozmiarów lub Command + 3.

Upewnij się, że kolumna górnego marginesu jest włączona (oznaczona przez ciągłe czerwone linie). W ten sposób możesz upewnić się, że masz stały margines nawet, gdy zmienia się superview.

+0

Zapomniałem wspomnieć, że włączam autolayout, więc nie ma stałych czerwonych linii do gry z –

Powiązane problemy