iOS 응용 프로그램에서 두 개의 하위보기를 뒤집는 데 어려움이 있습니다. 설치 방법은 인터페이스 파일에서보기를 만들었습니다. 보기가로드되면보기 1이 해당보기에 나타납니다 (addSubview
사용). View1에서 버튼을 누르면 뷰 2가 표시됩니다. 이 코드를 실행하면 첫 번째 플립 애니메이션이 잘 작동컨테이너보기의 하위보기 뒤집기
-(void)LetUsFlip
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:_containerView cache:YES];
if ([self.view1 superview])
{
NSLog(@"Show View 2");
[view1 removeFromSuperview];
[_containerView addSubview:view2];
[_containerView sendSubviewToBack:view1];
}
else
{
NSLog(@"Show View 1");
[view2 removeFromSuperview];
[_containerView addSubview:view1];
[_containerView sendSubviewToBack:view2];
}
[UIView commitAnimations];
}
, 즉,보기 2 버튼을 누른에 표시됩니다 : StackOverflow의 다양한 질문에서
, 나는 다음과 같은 코드를 구현했습니다. 그러나 뷰 2의 버튼을 다시 누르면 애니메이션이 발생하고 뷰 1은 이 아니며이 표시됩니다. - 빈 화면이 나타납니다. View1과 View2의 단추가 각각 위의 메서드를 호출합니다. NSLog는 애니메이션과 관련하여 문제가 발생하는 것과 정확히 동일한 방식으로 작동합니다.감사합니다.
'view1'과'view2'는 어떻게 선언되어 있습니까? 약한, 강한? – zoul
Hey zoul, 다음과 같이 선언되었습니다. @property (weak, nonatomic) IBOutlet UIScrollView * view1; –