Я пытался отобразить баннер iAd в нижней части моего экрана, используя в качестве отправной точки пример кода iAdSuite AdBannerNavigation.
В iAd Suite вы создали вид баннера и добавили егокак подпредставление.Когда вы делаете это для UITableView, баннер типа плавает вдоль ячеек, перемещаясь в пределах прокрутки.
Я видел этот ответ iAds в представлении прокрутки Но этот метод все еще делаетadbanner часть scrollview.
Поэтому я подумал, что простым решением было бы разместить UITableView внутри UIView, чтобы adBanner также мог быть подпредставлением для UIView (одноранговой таблицы).
RootViewController -> TextViewController
-> MyTableViewController -> UIView -> UITableView
-> AdBannerView
Это не сработало, поскольку UITableViewController ожидает, что его первым представлением будет представление таблицы.
Думая, что моя стратегия верна, я сдвинул представление таблицы вниз в иерархии представлений и получил егобыть инициированным моим контроллером представления.
RootViewController -> TextViewController
-> MyViewController -> MyTableViewController -> UITableView
-> AdBannerView
Это выполняется viewDidLoad MyViewController, где он вызывает:
myTableViewController = [[MyTableViewController alloc] initWithNibName:@"MyTableViewController" bundle:nil];
Затем, используя операторы NSLog в MyTableViewController, я вижуviewDidLoad вызывается, но ничего после этого.Я ожидал viewWillAppear и viewDidAppear, но эти операторы NSLog не только никогда не вызывались, симулятор iOS также никогда не отображает мой UITableView (что разумно, учитывая ситуацию!).
Правильно ли я занимаюсь этим (adBannerView, являющийся пэром к UITableView)?Если да, то чего мне не хватает в контроллере представления и процессе его создания?
Моя цель - разбить вещи на части этой структуры, чтобы MyViewController знал о баннере iAd и держал его отдельно от логики UITableView(и наоборот).