2013-06-06 6 views
0

У меня есть приложение, которое переключается между несколькими видами в контроллере представления в раскадровке. Я хочу показывать объявление по всем представлениям в приложении. Каков правильный способ сделать это? СпасибоКак добавить iAd в viewcontroller Все представления

+0

Единственный правильный способ в соответствии с вашими требованиями. Похоже, что ваше представление AD должно будет находиться в общем представлении в вашем приложении, которое может быть вашим представлением вашего корневого контроллера. – Jeremy

ответ

-2

Я думаю, вы должны воссоздать объявление в каждом контроллере представления. В iAd есть довольно строгие правила о том, как вы должны показывать объявление.

+0

Я использую только один контроллер вида с несколькими видами. Я могу получить iad только на первом представлении в контроллере представления. Я хочу сохранить объявление поверх всех представлений в контроллере представления. – jusuf

0

Обычный подход заключается в том, чтобы сохранить ссылку на AdBannerView в вашем AppDelegate и каждый раз, когда вы меняете контроллер вида, переместите его где-нибудь в этом представлении. Поскольку у вас есть только один контроллер вида, вы должны переместить его в соответствующее представление всякий раз, когда вы переключаетесь. Подходящий код можно найти here.

+0

Когда я попробовал это, дал мне ошибку иерархии представлений. – jusuf

+0

, чтобы уточнить, я получил его, чтобы отобразить объявление на первом представлении, добавив его как подвью. Когда я удаляю объявление из первого представления и добавляю его ко второму представлению, он выделяет «ADBannerView должен быть частью иерархии представлений, управляемой ошибкой UIViewController». – jusuf

+0

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

1

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

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

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