Я взял ответ @ ipwnstuff немного дальше.
первое предупреждение: iAd позволяет отображать только «портрет» или «пейзаж», а на iPad это означает 768x66 или 1024x66 соответственно. это означает, что нет возможности ограничить ADBannerView только подробным представлением UISplitViewController, если только вы не хотите свернуть свое собственное представление с немного более широким представлением (и, следовательно, немного более узким представлением masterViewController. иди по этому маршруту.
второе предостережение, iAdSuite материал, на который указывает @ipwnstuff, не сразу подходит для раскадровки. он создает UISplitViewController программно, и вы должны предоставить мастер и детали либо через .XIB, либо программно. Так как у меня была рабочая раскадровка, в которую я хотел интегрировать iAds, я хотел расширить ее. Кроме того, решение iAdSuite не скрывает основной вид в портретном режиме, и я все еще хотел это.
итак ... запуск существующего файла iPad.storyboard, а затем интеграция с образцом SplitBanner из iAdSuite следующим образом:
UISplitViewController *splitViewController = (id)self.window.rootViewController;
splitViewController.delegate = (id)splitViewController.detailUIViewController;
CGRect splitViewFrame = splitViewController.view.frame;
splitViewFrame.origin.y -= application.statusBarFrame.size.height;
splitViewFrame.size.height += application.statusBarFrame.size.height;
splitViewController.view.frame = splitViewFrame;
// initWithContentViewController: the thing that's in the iAdSuite SplitViewBanner example
self.bannerViewController
= [[BannerViewController alloc] initWithContentViewController:splitViewController];
self.window.rootViewController = self.bannerViewController;
Таким образом, я смог использовать раскадровку UISplitViewController в качестве дочернего контроллера BannerViewController, предоставляемого iAdSuite .
хорошо, третье предостережение: есть один глюк, и это то, что, если у вас установлена обычная настройка кнопок с помощью splitViewControllerDelegate, делегат не будет вызываться, если вы будете поворачиваться во время объявления, и поэтому кнопка будет временно отображаться когда он не должен или не появляется, когда должен.