Макет моего приложения испорчен, когда появляется строка состояния вызова или точки доступа

Я столкнулся с проблемой во время тестирования своего приложения, все работало отлично, пока я не включу личную точку доступа, и вверху появится синяя полоса, все метки и кнопки сдвинуты вниз:

введите здесь описание изображения

Изменение: (23 апреля 2013 г.)

Код viewDidLoad:

- (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];

}

Изменение: (24 апреля 2013 г.)

Конфигурация ограничений выглядит следующим образом:

введите здесь описание изображения

Как я могу исправить их местоположение и заставить его не двигаться независимо от строки состояния?


person Mohammed Bujassoum    schedule 23.04.2013    source источник
comment
Можете ли вы показать нам свои коды, особенно viewDidLoad() ?   -  person Raptor    schedule 23.04.2013
comment
Где и как добавляется фоновое изображение?   -  person Mike Weller    schedule 23.04.2013
comment
Убедитесь, что ваши маски автоматического изменения размера установлены правильно, и вы можете проверить это в симуляторе, нажав Cmd + T.   -  person WDUK    schedule 23.04.2013
comment
@ShivanRaptor Пожалуйста, найдите код в вопросе, я только что добавил его   -  person Mohammed Bujassoum    schedule 23.04.2013
comment
@MikeWeller как UIImage, есть ли лучший способ сделать это? Я немного новичок в этой области :)   -  person Mohammed Bujassoum    schedule 23.04.2013
comment
@WDUK Я пробовал это автоматическое изменение размераMask = UIViewAutoresizingFlexibleHeight | ... но все равно не работает   -  person Mohammed Bujassoum    schedule 23.04.2013
comment
Если ваше изображение имеет правильную рамку и маску автоматического изменения размера, оно должно сместиться вниз вместе со всем остальным.   -  person Mike Weller    schedule 23.04.2013
comment
Вы упоминаете в комментариях ниже, что у вас включен автомакет. Можете ли вы показать ограничения, настроенные в Interface Builder?   -  person Sixten Otto    schedule 23.04.2013
comment
@SixtenOtto, пожалуйста, проверьте конфигурацию ограничений в последнем редактировании вопроса.   -  person Mohammed Bujassoum    schedule 24.04.2013


Ответы (1)


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

Откройте инспектор размеров, используя Инструменты -> Инспектор размеров или Command+3.

Убедитесь, что стойка для верхнего поля включена (обозначена сплошными красными линиями). Таким образом, вы можете обеспечить постоянную маржу даже при изменении супервизора.

person RJR    schedule 23.04.2013
comment
Я забыл упомянуть, что я включаю автомакет, чтобы не было сплошных красных линий, с которыми можно было бы играть. - person Mohammed Bujassoum; 23.04.2013