我在同一个 viewController 上有三个视图,我需要在它们之间切换。最好的方法是什么?谢谢
问问题
506 次
4 回答
2
好吧,我不确定您是否已明确提出问题。我想您想一次显示一个视图。在这种情况下:-
1>您可以水平添加视图UIScrollView
,其框架大小等于屏幕或您想要的任何区域(宽度应等于屏幕宽度..一次显示 1 个)以及 UIPageControl。
2>另一种方法是使用方法:-
[self.view bringSubViewToFront:yourSubView];
[self.view sendSubViewToBack:yourSubView ];
根据您的要求。
3>您可以使用动画在视图之间切换。
[UIView animateWithDuration:0.7
delay:1.2
options: UIViewAnimationCurveEaseOut
animations:^{
CGRect frame=assignAframeToSwitch;
yourView.frame = frame;
}
completion:^(BOOL finished){
NSLog(@"Done!");
}];
OR
_Weak CATransition *transition;
transition = [CATransition animation];
transition.delegate=self;
transition.duration = 0.75;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
[[viewcontroller layer] addAnimation:transition forKey:@"transition"];
于 2012-05-18T14:53:02.280 回答
1
CATransition 是动画过渡的最佳方式
CATransition* trans = [CATransition animation];
[trans setType:kCATransitionPush];
[trans setDuration:0.5];
[trans setSubtype:kCATransitionFromBottom];
// code to change the view//
CALayer *layer = rootViewController.view.layer;
[layer addAnimation:trans forKey:@"Transition"];
希望能帮助到你。
于 2012-05-18T14:53:19.373 回答
0
最简单的方法是使用内置的基于块的 UIView 过渡动画。只需查看 UIView 的文档即可。它比 CATransition 方法更简单。
于 2012-05-18T15:16:10.377 回答
0
如果您使用此波纹管代码进行动画转换,然后只需要在按钮单击事件上隐藏和显示视图...
CATransition *animation = [CATransition animation];
[animation setDelegate:self];
[animation setType:kCATransitionFromBottom];
[animation setDuration:1.0];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:
kCAMediaTimingFunctionEaseInEaseOut]];
[[yourViewControllers layer] addAnimation:animation forKey:@"transitionViewAnimation"];
希望,这对你有帮助.. :)
于 2012-05-18T14:52:12.720 回答