Я сделал сообщение неделю или два назад, и пока никто не имеет ответа, поэтому я собираюсь попробовать другой подход. Когда я использую canDisplayBannerAds на контроллере представления iOS, внизу отображается баннерное объявление. Это бесполезно для моих приложений, так как клавиатура присутствует всегда и она охватывает iAds. Я также не могу просто добавить iAd в InterfaceBuilder, так как я не всегда хочу, чтобы объявления отображались, и добавление их в InterfaceBuilding разбивает автомасштабирование, если вы удаляете их. Поэтому, как на Земле я показываю рекламу баннера, которая не покрывается клавиатурой?Чехлы для клавиатуры iAd, как исправить?
0
A
ответ
1
Во-первых, вам нужно знать, когда появится клавиатура, и в этот момент установите рамку своего iAd. Итак, вот код. Прежде всего, необходимо реализовать наблюдателей:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardDidShow:)
name:UIKeyboardDidShowNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardDidHide:)
name:UIKeyboardDidHideNotification
object:nil];
и методы, которые хотят, чтобы выполнить при apears:
- (void)keyboardDidShow: (NSNotification *) notification{
// Here we will set the frame of the banner at the top of the keyboard
if (_bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOn" context:NULL];
// Assumes the banner view is just off the bottom of the screen.
banner.frame =CGRectMake(0, self.view.frame.size.height-266, 320, 50);
[UIView commitAnimations];
}
}
- (void)keyboardDidHide: (NSNotification *) notification{
// Here we will set the frame of the banner at the bottom of the view
if (_bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOn" context:NULL];
// Assumes the banner view is just off the bottom of the screen.
banner.frame =CGRectMake(0, self.view.frame.size.height-50, 320, 50);
[UIView commitAnimations];
}
}
Может быть, вам нужно настроить размер или анимацию, чтобы хорошо выглядеть. Извините за мою английскую надежду, это поможет вам.