Я пытаюсь построить подкласс, который находится над моим главным видом, который составляет приблизительно 3/4 размера основного вида. Когда кнопка нажата, subview должен переключиться на другое подвью. Я рядом, но у меня ДВЕ проблемы.Flipping Subviews над основным видом
Первая проблема заключается в том, что при первом нажатии флип-кнопки второе подвью начинается с полного экрана и сжимается до заданного размера кадра, а не с переворачиваемой анимации.
После визуализации второго представления я могу перевернуть между первым и вторым представлениями (я добавил вторую кнопку, чтобы откидываться назад для целей тестирования).
Вторая проблема заключается в том, что при просмотре представления новый вид загружается перед переворотом, а затем происходит переключение. Я создал перевернутые представления, прежде чем они работали правильно, но только тогда, когда весь экран был просмотром.
Вот мой код, который находится в моем главном контроллере представления:
- (void)viewDidLoad {
Page1Controller *myPage1=[[Page1Controller alloc] initWithNibName:@"Page1Controller" bundle:nil];
Page2Controller *myPage2=[[Page2Controller alloc] initWithNibName:@"Page2Controller" bundle:nil];
self.page1 = myPage1;
self.page2 = myPage2;
[myPage1 release];
[myPage2 release];
[[page1 view] setFrame:CGRectMake(45, 40, 230, 280)];
[[self view] addSubview:[page1 view]];
[super viewDidLoad];
}
А вот код для двух кнопок:
- (void)flipPressed:(id)sender {
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:[page2 view] cache:YES];
[page1.view removeFromSuperview];
[[page2 view] setFrame:CGRectMake(45, 40, 230, 280)];
[[self view] addSubview:[page2 view]];
[UIView commitAnimations];
}
- (void)backFlipPressed:(id)sender {
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:[page1 view] cache:YES];
[page2.view removeFromSuperview];
[[self view] addSubview:[page1 view]];
[[page1 view] setFrame:CGRectMake(45, 40, 230, 280)];
[UIView commitAnimations];
}
Любая помощь на любом из моих вопросов, очень ценится!
Благодарим вас - это устранило проблему со вторым запуском полного экрана и сжатием. Представление по-прежнему не переворачивается при первом нажатии кнопки, только при последующих нажатиях кнопок. –