2012-04-22 4 views
3

У меня есть UIViewController, чей вид добавлен в мой UIWindow. Однако, если я удалю представление, я не могу нажать что-нибудь ниже, где оно было. Мой код ниже:Удалить UIView From UIWindow

-(void)createFullAd{ 
    UIViewController *viewController = [UIViewController new]; 
    self.fullAd = [MobclixFullScreenAdViewController new]; 
    self.fullAd.delegate = self; 
    [self.fullAd requestAndDisplayAdFromViewController:viewController]; 
    viewController.view.tag = 999999; 
    [[[[UIApplication sharedApplication] delegate]window] addSubview:viewController.view]; 
} 

- (void)fullScreenAdViewControllerDidDismissAd:(MobclixFullScreenAdViewController*)fullScreenAdViewController{ 
    NSLog(@"Dismissed"); 
    [[[[[UIApplication sharedApplication] delegate] window] viewWithTag:999999]removeFromSuperview]; 

} 

ответ

1

@dasblinkenlight дал мне идею для этого, если он сообщений назад я наградит ответ его.

Это грязно, но это единственное, что работает:

-(void)displayAd { 
    self.fullAd = [MobclixFullScreenAdViewController new]; 
    self.fullAd.delegate = self; 
    self.adController = [UIViewController new]; 
    [self.fullAd requestAndDisplayAdFromViewController:self.adController]; 
    [[[[UIApplication sharedApplication] delegate]window] addSubview:self.adController.view]; 
} 
- (void)fullScreenAdViewControllerDidDismissAd:(MobclixFullScreenAdViewController*)fullScreenAdViewController{ 
    [fullScreenAdViewController.view removeFromSuperview]; 
    [[[[UIApplication sharedApplication] delegate]window] setNeedsLayout]; 
    self.adController = nil; 

} 

setNeedsLayout является ключом, но я назвал его в окне вместо надтаблицы в adController в.

0

Я думаю, что это не совсем правильная иерархия. Если ваша цель здание IOS 5.0+, я думаю, вы должны рассмотреть вопрос об использовании [viewController1 addChildViewController:viewController2]

0

Может попробовать это:

-(void)fullScreenAdViewControllerDidDismissAd(MobclixFullScreenAdViewController*)fullScreenAdViewController 
{ 
    NSLog(@"Dismissed"); 
    [fullScreenAdViewController.view removeFromSuperview]; 
} 
Смежные вопросы