2014-12-30 3 views
0

Я сделал сообщение неделю или два назад, и пока никто не имеет ответа, поэтому я собираюсь попробовать другой подход. Когда я использую canDisplayBannerAds на контроллере представления iOS, внизу отображается баннерное объявление. Это бесполезно для моих приложений, так как клавиатура присутствует всегда и она охватывает iAds. Я также не могу просто добавить iAd в InterfaceBuilder, так как я не всегда хочу, чтобы объявления отображались, и добавление их в InterfaceBuilding разбивает автомасштабирование, если вы удаляете их. Поэтому, как на Земле я показываю рекламу баннера, которая не покрывается клавиатурой?Чехлы для клавиатуры iAd, как исправить?

ответ

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]; 
     } 
    } 

Может быть, вам нужно настроить размер или анимацию, чтобы хорошо выглядеть. Извините за мою английскую надежду, это поможет вам.