Я использую некоторые переходы (Flip), чтобы переключиться на мой вид «Настройки / О программе» в моем приложении для iPhone. Я инициирую переход следующим образом:
SettingsAboutViewController *settingsView = [[SettingsAboutViewController alloc] init];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
forView:[self.navigationController view ]
cache:YES];
[self.navigationController.view addSubview:settingsView.view];
[UIView commitAnimations];
В методе viewDidLoad моего SettingsAboutViewController я настраиваю всю связанную графику, используя setFrame: CGRectMake(x, y, w, h), Nib не задействован.
Моя проблема в том, что вся графика, кажется, позиционируется в 0,0, и только когда флип выполнен на 90%, он «защелкивается» на месте.
Я пытался вызвать [super viewDidLoad] после установки и до этого, вместо этого я пытался разместить свой код установки внутри loadView, но пока ничего не получилось.
Кажется, представление не все построено, прежде чем я вызову анимацию. У меня никогда не было таких проблем раньше, и этот конкретный вид не является тяжелым и требовательным к графике каким-либо другим образом?
Что мне нужно учитывать?
Спасибо.