У меня есть проект, в котором я переключаю один вид на другой:
- (IBAction)onClick:(id)sender
{
ViewControllerSecond * sc=[[ViewControllerSecond alloc]initWithNibName:@"ViewControllerSecond" bundle:nil];
[UIView transitionFromView:self.view toView:sc.view duration:3.0
options:UIViewAnimationOptionTransitionFlipFromLeft completion:^(BOOL finished) {
}];
}
Я использую 3 секунды здесь, чтобы подчеркнуть. в этом втором представлении у меня есть метод обновления графического интерфейса, который добавляет другое представление из контроллера представления:
-(void)updateGUI
{
sample=[[ViewControllerSample alloc]initWithNibName:@"ViewControllerSample" bundle:nil];
sample.view.frame=CGRectOffset(sample.view.frame, 0, 150);
[self.view addSubview:sample.view];
}
Теперь вот проблема: когда я вызываю это из функции viewDidLoad, все работает нормально. Однако при вызове из функции viewWillAppear представление появится в верхней части экрана и только после окончания анимации переместится на свое место. Как это можно исправить?