Вот пример того, что я делаю:
В вызывающем ViewController я использую следующий код для переключения представлений:
-(void)selectProfile:(User*)selectedUser{
SelectGameViewController* selectGame=[[SelectGameViewController alloc]initWithNibName:@"SelectGame" bundle:nil];
UIView* parent=self.view.superview;
[UIView beginAnimations:@"Show selection" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDuration:0.50f];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:parent cache:YES];
[selectGame viewWillAppear:YES];
[self viewWillDisappear:YES];
[parent insertSubview:selectGame.view atIndex:0];
[self.view removeFromSuperview];
[selectGame viewDidAppear:YES];
[self viewDidDisappear:YES];
[UIView commitAnimations];
}
Затем в появившемся представлении у меня есть следующий код в методе -viewWillAppear:
-(void)viewWillAppear:(BOOL)animated{
UIButton* newButton=[[UIButton alloc]initWithFrame:CGRectMake(50, 150, 500, 150)];
[newButton setTitle:@"Play" forState:UIControlStateNormal];
[newButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[newButton.titleLabel setFont:[UIFont fontWithName:@"EraserDust" size:80]];
[newButton addTarget:self action:@selector(playGame:) forControlEvents:UIControlEventTouchUpInside];
newButton.transform = CGAffineTransformMakeRotation(-.2);
[self.view addSubview:newButton];
[newButton release];
[super viewWillAppear:animated];
}
Результатом этого является то, что вид отображается при не повернутой кнопке, но затем сразу после ее отображения он поворачивается. Я очень смущен, так как это не противоречит предложению TechZen?