- (void) viewWillAppear: (BOOL) анимированный не вызывается - PullRequest
1 голос
/ 01 сентября 2011

Мое приложение основано на представлении в моем приложении в одном представлении, в котором я пишу представление, но этот метод не вызывает. Мой код

-(void)viewWillAppear:(BOOL)animated
{
    NSLog(@"view will Appear");
    [tableView reloadData];
}

Может кто-нибудь сказать, почему метод viewWillAppear не вызывается.

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

Ответы [ 4 ]

2 голосов
/ 01 сентября 2011
 -(void)viewWillAppear:(BOOL)animated  
{  
  [super viewWillAppear:animated];  
  NSLog(@"view will Appear");    
  [tableView reloadData];  
}

если он по-прежнему не вызывается, попробуйте вызвать код, как показано в примере [classobj viewWillAppear: NO];

0 голосов
/ 06 сентября 2011

Привет Здесь я сделал вместо

[self.view addSubview:viewcontroller.view];

Я использовал это:

[self presentModalViewController:viewcontroller animated:YES];

и напишите этот метод, теперь моя проблема решена.

-(void)viewWillAppear:(BOOL)animated
{
    NSLog(@"==========view will appear");
}
0 голосов
/ 01 сентября 2011

Я думаю, что проблема, которую вы видите, состоит в том, что viewWillAppear: - это метод для UIViewController, а не метод для UIView. viewWillAppear: вызывается на контроллере вида, чтобы указать, что вид контроллера станет видимым.

Если вы добавили приведенный выше код в класс на основе UIView, этот код вызываться не будет. Вам нужно переместить этот код в свой контроллер представления - или вы можете достичь желаемого результата, реализовав вместо этого метод didMoveToSuperview в своем классе на основе UIView.

didMoveToSuperview будет вызываться на вашем представлении, когда ваше представление добавляется в другое представление с использованием addSubview:.

0 голосов
/ 01 сентября 2011

viewWillAppear и другие связанные методы вызываются в viewcontroller, который связан с rootViewController главного окна.Поэтому, если вы используете приложение, основанное на представлении, метод viewWillAppear первого контроллера представления будет работать правильно, а другие - нет.

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