2012-03-15 4 views
2

Я загрузил копию файлов образцов adWhirl PRO для iphone с сайта www.adwhirl.com, чтобы узнать, как реализовать adWhirl в приложении.Как разместить adWhirl в нижней части экрана Iphone?

По умолчанию рекламный баннер находится по верхней части экрана.

Я пытаюсь расположить баннер внизу.

После поиска в Google Groups, я попытался в .m файл

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    AdWhirlView *adWhirlView = [AdWhirlView requestAdWhirlViewWithDelegate:self]; 

    adView.frame = CGRectMake(0, 410, kAdWhirlViewWidth, kAdWhirlViewHeight); 

    [self.view addSubview:adWhirlView]; 
} 

Но рекламный баннер остается в том же положении.

Я также попытался модифицировать adWhirlView.h file, путем изменения:

#define kAdWhirlViewDefaultFrame \ 
         (CGRectMake(0,0,kAdWhirlViewWidth, kAdWhirlViewHeight)) 

to 

#define kAdWhirlViewDefaultFrame \ 
         (CGRectMake(0,410,kAdWhirlViewWidth, kAdWhirlViewHeight)) 

Но позиция AdView остается тем же, на вершине, он делает сдвигать рекламный баннер вниз, но и смещает вниз объявление себя внутри adView, так что если вы измените 410 на 25, отобразится только половина рекламного баннера.

screenshot

Что я делаю не так, пожалуйста?

Кто-нибудь знает, как разместить объявление в нижней части экрана, пожалуйста?

Большое спасибо

ответ

9

Реализуйте этот метод делегата AdWhirl

- (void)adWhirlDidReceiveAd:(AdWhirlView *)adWhirlView { 

    CGSize adSize = [adWhirlView actualAdSize];  
    CGRect newFrame = adWhirlView.frame;   
    newFrame.size = adSize;  
    newFrame.origin.x = (self.view.bounds.size.width - adSize.width)/ 2;   
    newFrame.origin.y= self.view.frame.size.height - adSize.height;   
    adWhirlView.frame = newFrame;  
} 
+0

Привет, спасибо за ответ. Этот код уже находится в файле AdWhirlPro_ViewController.m, а adView все еще находится поверх экрана. – theMouse

0

Проще всего было бы использовать СИБ. Откройте файл .xib и вставьте новый объект UIView внизу с нужными размерами. Затем в инспекторе Identity задайте класс AdWhirlView, а в инспекторе Size установите его так, чтобы он привязывался к нижнему, левому и правому экрану.

+0

Привет, Спасибо вам за помощь. Я добавил subview размером 320 x50 и координирует 0, 410 с AdWhirl_ProViewContoller.xib, и я установил класс в AdWhirlView. Но представление пустое, а adVIew все еще находится в верхней части экрана. Я все еще делаю что-то неправильно? Еще раз спасибо за вашу помощь. Хороших выходных. – theMouse

+0

Вы связали это с кодом? Вам нужно добавить AdWhirlView в определение класса в AdWhirl_ProViewController.h и указать его как «IBOutlet», чтобы он стал видимым для Interface Builder, затем в файле Nib нажмите «Владелец файла», перейдите на панель «Подключения» (на панели «Соединения» справа) и перетащите ссылку из новой переменной AdWhirlView в элемент в Nib. Надеюсь, я ясно это объяснил, спросите меня, нужно ли мне что-то уточнить! – benwad

+0

Привет, Большое вам спасибо за помощь! Извините, что это боль, но симулятор показывает пустой экран в нижней части экрана, но adView все еще находится в верхней части экрана, поэтому я все еще делаю что-то неправильно. У меня есть: Добавлен AdWhirlView для определения класса в AdWhirl_ProViewController.ч сделал это в IBOutlet в файле NIB, связанный владельца файла в UIView UIView Позиция объявления устанавливается в класс = AdWhirlView – theMouse

1

Просто попробуйте это:

- (void)adWhirlDidReceiveAd:(AdWhirlView *)adWhirlView { 

CGRect newFrame=CGRectMake(0, 410, 320, 50); 
adWhirlView.frame = newFrame; 
} 
+0

Благодарим вас за ответ. Я попробовал, есть 2 ошибки сборки: 1.) несовместимый тип для аргумента 1 из 'setFrame:' и 2.) несовместимые типы при инициализации – theMouse

+0

ohh now see edit answer – Hector

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