2012-01-04 15 views
2

iAdSuite AdBannerNavigationのサンプルコードを出発点として、画面の下部にiAdバナーを表示しようとしました。UITableViewの下にiAdバナーを配置する

iAd Suiteでは、バナービューを作成してサブビューとして追加しています。あなたがそれをUITableViewにすると、スクロールビュー内を移動して、セルの上に沿ってバナーが浮かびます。

私はこの回答を見てきましたiAds in a Scrolling View しかし、この方法では、まだ、広告主がスクロールビューの一部になっています。

私は単純な解決策はUIViewの中にUITableViewを置くことで、adBannerがUIView(テーブルビューのピア)のサブビューになる可能性があると考えました。 UITableViewControllerは、その最初のビューは、テーブルビューであることを期待するので動作しませんでした

RootViewController -> TextViewController 
        -> MyTableViewController -> UIView -> UITableView 
                 -> AdBannerView 

私の戦略を正しく考えると、私はビュー階層内でテーブルビューを押し下げて、ビューコントローラによって挿入されるようにしました。

RootViewController -> TextViewController 
        -> MyViewController -> MyTableViewController -> UITableView 
             -> AdBannerView 

これは、それが呼び出すMyViewControllerののviewDidLoad、によって行われます。

myTableViewController = [[MyTableViewController alloc] initWithNibName:@"MyTableViewController" bundle:nil]; 

その後、MyTableViewController内のNSLog文を使用して、私はの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に変換し、上記のやり方と同様に処理することです。 Ray Wenderlichに恥をかける!彼はテーブルヘッダーを使用することを知っていたはずです。 – malhal

関連する問題