2012-01-04 4 views
2

Я пытаюсь получить баннер iAd для отображения в нижней части экрана с помощью кода примера iAdSuite AdBannerNavigation в качестве отправной точки.Размещение значка iAd под UITableView

В iAd Suite вы создали представление баннера и добавили его в качестве подзаголовка. Когда вы делаете это с UITableView, вид баннера плавает вдоль поверх ячеек, перемещаясь в scrollview.

Я видел этот ответ iAds in a Scrolling View Но этот метод по-прежнему делает рекламный блок частью прокрутки.

Поэтому я думал, что простым решением будет разместить 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 Simulator никогда не отображает мой UITableView (что разумно, учитывая ситуацию!).

Я решаю это правильно (adBannerView является одноранговым узлом UITableView)? Если да, то что мне не хватает в контроллере представления и процессе создания представлений?

Моя цель - разбить вещи на эту структуру, чтобы MyViewController узнал о баннере iAd и сохранил это отдельно от логики UITableView (и наоборот).

ответ

1

Это идеальная статья для этого. Он показывает, как добавить баннеры iAd в верхнюю часть табличных представлений как в портретном, так и в ландшафтном режимах. Если вы посмотрите дальше на страницу, есть также код, который может дать вам представление о добавлении баннера в нижней части таблицы.

http://www.raywenderlich.com/1371/how-to-integrate-iad-into-your-iphone-app

Надеется, что это помогает!

+0

Это выглядит многообещающим - спасибо за обмен! – tobinjim

+0

«К сожалению, кажется, что лучший способ справиться с этой ситуацией - конвертировать ваш UITableViewController в обычный UIViewController, а затем действовать аналогично тому, как мы делали выше« нет, нет, нет! Позор на Рэй Вендерлих! Он должен был знать, как использовать заголовок таблицы. – malhal

Смежные вопросы