Я интегрирую iAds в первый раз. Оно работает. То, что я не могу сделать, это получить его внизу на моем экране. Когда я делаю то, что, по моему мнению, является правильной математикой, он перестает показывать (или, скорее, я его не вижу), но меняет положение на твердое значение.iAd позиция баннера и высота экрана
// Use RootViewController manage CCEAGLView
_viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];
_viewController.wantsFullScreenLayout = YES;
_viewController.view = eaglView;
// Set RootViewController to window
if ([[UIDevice currentDevice].systemVersion floatValue] < 6.0)
{
// warning: addSubView doesn't work on iOS6
[window addSubview: _viewController.view];
}
else
{
// use this method on ios6
[window setRootViewController:_viewController];
}
// iAd
adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
CGRect adFrame = adView.frame;
adFrame.origin.y = adView.frame.size.height;
adView.frame = adFrame;
[_viewController.view addSubview:adView];
работает, но он показывает, как это:
Когда я пытаюсь изменить положение в нижней части на основе высоты экрана - высота AdView я перестану видеть.
adFrame.origin.y = _viewController.view.frame.size.height - adView.frame.size.height;
Я поставил точки останова и, кажется, что это должно работать на основании значений для высоты (1024) и AdView (66)
UPDATE: Я сейчас пытаюсь init с указанием прямой
adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, [[UIScreen mainScreen] bounds].size.height - adView.frame.size.height, [[UIScreen mainScreen] bounds].size.width, adView.frame.size.height)];
[adView setDelegate:self];
[_viewController.view addSubview:adView];
Все еще не работает, больше ничего не отображается.
UPDATE 2: Попытка это он делает шоу, очевидно, не в нижнем
adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 200, [[UIScreen mainScreen] bounds].size.width, 200)];
UPDATE 3: Попытка это, это делает шоу, очевидно, не в нижнем
adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 200, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)];
UPDATE 4: Попытка этого, работает, и это внизу, но я только что сделал это. Изменяя 300 до 200, тогда ничего не отображается.
adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, [[UIScreen mainScreen] bounds].size.height - 300, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)];
Спасибо. Я пробовал и не показывал. Можете ли вы посмотреть мое обновление выше? – Jason
Я не вижу ничего плохого в вашем коде. Вы можете проверить свою иерархию просмотров? Возможно, ваш баннер просматривается каким-то другим видом. – slysid
adView = [[ADBannerView alloc] initWithFrame: CGRectMake (0, [[UIScreen mainScreen]) .size.height - adView.frame.size.height, [[UIScreen mainScreen]) .size.width, adView.frame. size.height)]; В вашем коде adView.frame.size.height будет равен нулю, поскольку adView все еще не сгенерирован. Таким образом, представление рекламного баннера устанавливается ниже границ UIWindow. Установите его на какое-то твердое значение, например, 100 или 150. – slysid