Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

AdBannerView на все Views - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Разделение экрана на 2 зоны (ipad) http://www.cyberforum.ru/ios-dev/thread858447.html
Суть в чем: в приложении экран делится на 2 зоны. В первой - ScrollView, а во второй - NavigationController. Первая часть статична (в скрол вложена картинка с активными зонами), а вторая динамична...
Программирование iOS Обработка исключений Добрый день! Возник такой вопрос. Для того, чтобы поймать исключение необходимо написать @try{}@catch(){} и т.д.. Допустим где то я это забыл сделать и соответственно приложение закрылось ничего не... http://www.cyberforum.ru/ios-dev/thread858098.html
Событие отпускания кнопки Программирование iOS
Добрый день форумчане. Как реализовать событие отпускание кнопки? Когда нажимаю кнопку, при ее отпускание, вызывался бы какой нибудь метод
Cornerstone Программирование iOS
Доброго времени суток! Вопрос по программе Cornerstone. Я создал рабочую копию проекта, но доделывал проект не в ней, а в другой папке (на то были свои причины). Как теперь закоммитить эту папку, не...
Программирование iOS Нужен исходный код конвертера валют для ios http://www.cyberforum.ru/ios-dev/thread856269.html
Доброго времени суток! Подскажите где можно брать исходники для ios стандартных программ, таких как "Конвертер Валют"?
Программирование iOS IPhone 3G Не удалось подключиться к сети Wi-Fi Хай всем. У меня произошла проблемка помогите! IPhone 3G Не удалось подключиться к сети Wi-Fi ,он видет сеть но подключится не может !ПОМОГИТЕ буду очень благодарен. ... подробнее

Показать сообщение отдельно
Монфрид
1196 / 1006 / 154
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2

AdBannerView на все Views - Программирование iOS

08.05.2013, 15:31. Просмотров 785. Ответов 4
Метки (Все метки)

Хочу вставить баннер на большинство views. В основном используются TableView. Решил для баннера использовать TableHeader у TableView. Apple рекомендует в таких случаях не создавать баннеры для каждого окна, а использовать один (shared).
Создал такой класс:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#import <Foundation/Foundation.h>
#import <iAd/iAd.h>@interface AdManager : NSObject <ADBannerViewDelegate>
@property (nonatomic, strong) ADBannerView *bannerView;
+ (AdManager *)sharedInstance;
 
#import "AdManager.h"
 
@implementation AdManager
@synthesize bannerView;
 
+ (AdManager *)sharedInstance
{
    static AdManager *sharedInstance = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        sharedInstance = [[AdManager alloc] init];
    });
    return sharedInstance;
}
 
-(instancetype)init
{
    if (self=[super init]) {
        bannerView = [[ADBannerView alloc] init];
        bannerView.delegate=self;
    }
    return self;
}
В AppDelegate создаю экземпляр этого класса. И в TableView's подписываюсь на notification которые идут от баннера.
И соответственно, при наступлении события гружу баннер в header.
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
-(void)viewWillAppear:(BOOL)animated
{
    if (self.appDelegate.bannerView.isBannerLoaded)
        [self bannerLoadedSuccess:nil];
    
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(bannerLoadedSuccess:) name:@"BannerLoaded" object:nil];
    [self.tableView reloadData];
    [super viewWillAppear:animated];
}
 
-(void)bannerLoadedSuccess:(NSNotification *)notification
{
    NSLog(@"notification! tbl1");
    self.tableView.tableHeaderView=self.appDelegate.bannerView;
}
 
-(void)viewWillDisappear:(BOOL)animated
{
    [[NSNotificationCenter defaultCenter]removeObserver:self];
    self.tableView.tableHeaderView=nil;
    [super viewWillDisappear:animated];
}
Для примера, создал TabBar c 2мя TableViewController'ами. На обоих tableView один и тот же код, который я привёл выше. Когда один tableView используется для баннера, то всё хорошо, как только использую два, ничего не работает.

Проект прилагаю ниже. Буду сильно благодарен за помощь.BannerOnAllViews.zip
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru