我在同一个UIViews
中有两个UIViewController
VW1和VW2。
我正试图从VW1向VW2右转,并使用以下代码,我不知道如何以及在何处调用该方法?
-(void)FlipFromRight
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:uiView2 cache:YES];
[UIView commitAnimations];
}
以上代码对我不起作用。
答案 0 :(得分:1)
你需要这样做:
if ([VW1 superview])
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:aTableBGView cache:NO];
[VW1 removeFromSuperview];
[mainView addSubview:VW2];
[mainView sendSubviewToBack:VW1];
}
else
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:aTableBGView cache:NO];
[[mainView viewWithTag:2001] removeFromSuperview]; // VW2's tag ID
[mainView addSubview: VW1];
[mainView sendSubviewToBack: VW2];
}
[UIView commitAnimations];
答案 1 :(得分:0)
这里在导航栏或MainViewcontroller上添加一个类似名称“btnSwipe”的uIButton,之后只需给出按钮标题,例如“Left”。 之后用这个波纹管方法给出动作事件
-(IBAction)FlipFromRight:(id)sender
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
if ([btnSwipe.titleLabel.text isEqualToString:@"Left"])
{
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:uiView1 cache:YES];
[btnDraw setTitle:@"Right" forState:UIControlStateNormal];
}
else{
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:uiView2 cache:YES];
[btnDraw setTitle:@"Left" forState:UIControlStateNormal];
}
[UIView commitAnimations];
}
这里只是将IBA从xib提供给btnSwipe,它将起作用
我希望这对你有用..
:)