Мой взгляд не обновляет на iPhone - PullRequest
0 голосов
/ 07 августа 2011

У меня есть возможность отключить рекламу в моем приложении.Когда эта опция включена, реклама должна исчезнуть.Теперь реклама фактически исчезает, когда вы покидаете страницу, на которой была реклама, и возвращаетесь к ней.Но для одной страницы, моего MainMenuViewController, по какой-то причине эта страница не обновляется, а реклама остается.На других страницах, где это происходит, когда есть реклама, и когда я покидаю эту страницу и возвращаюсь, само объявление обновляется и отображает новое объявление, но для главного меню это всегда одно и то же объявление, поэтому оно не обновляется.,У меня одинаковый код во всех моих контроллерах представления, поэтому я не уверен, почему этот вызывает проблемы.Вот важные методы в MainMenuViewController:

- (void)viewDidLoad {
    [super viewDidLoad];
    appDelegate = (TestAppDelegate*)[[UIApplication sharedApplication] delegate];
    if(appDelegate.isPremium==NO) {
        self.adView = [[[MobclixAdViewiPhone_320x50 alloc] initWithFrame:CGRectMake(0.0f, 430.0f, 320.0f, 50.0f)] autorelease];
        [self.view addSubview:self.adView];
    }
}
-(void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [self.adView resumeAdAutoRefresh];
}

-(void)viewWillDisappear:(BOOL)animated { 
    [super viewWillDisappear:animated];
    [self.adView pauseAdAutoRefresh];
}

-(void) viewWillAppear:(BOOL)animated {

    [super viewWillAppear:animated];
}


- (void)viewDidUnload {
    [super viewDidUnload];
    [self.adView cancelAd];
    self.adView.delegate = nil; 
    self.adView = nil;
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

 - (void)dealloc {
        [super dealloc];
        [self.adView cancelAd];
        self.adView.delegate = nil; 
        self.adView = nil;
    }

1 Ответ

0 голосов
/ 08 августа 2011

Если это просто происходит в этом конкретном представлении, вероятно, потому что оно хранится в памяти и не перерисовывается при возврате к нему.Это часто встречается, особенно если вы используете контроллер навигации для управления контроллерами представления в стеке (например, корневые контроллеры представления всегда находятся в стеке и имеют тенденцию оставаться в памяти, пока эта память не понадобится в противном случае).

Почему бы вам не принудительно перерисовать представление контроллера вида с помощью setNeedsDisplay ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...