ошибка позиционирования iOS - PullRequest
0 голосов
/ 24 апреля 2011

У меня странная проблема с размещением некоторого контента (в данном случае рекламы Admob) в моем приложении.Мои представления стандартны UITableViewControllers, и я хочу расположить объявления таким образом, чтобы они были закреплены в самом низу представления (хотя и над панелью инструментов).

Вот код, который я использую для размещения объявлений (это метод делегата, необходимый для Admob SDK).

- (void)didReceiveAd:(AdMobView *)adView {
    // get the view frame
    //CGRect frame = self.navigationController.view.frame;
    CGRect frame = self.view.superview.frame;

    // put the ad at the bottom of the screen
    adMobAd.frame = CGRectMake(0, frame.size.height - 48, frame.size.width, 48);

    [self.view.superview addSubview:adMobAd];
}

Этот код отлично работает для первоначального размещения рекламы, и объявление появляется в нижней части экрана, где я его хочу.Однако иногда рекламные объявления переходят на середину экрана после определенных действий пользователя.

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

Или если пользователь выберет кнопку, которая выдает новую modalViewController, то же самое произойдет, когда modalViewController будет отклонен.

Я закрепляю объявление в неправильном месте?Нужно ли мне всегда менять положение объявления при загрузке представления?Чего мне не хватает?

1 Ответ

0 голосов
/ 24 апреля 2011

Что, если вы попробуете CGRect frame = self.view.frame; вместо.

Вы вообще скрываете навигационный контроллер?Это может привести к его росту также

...