要实现类似的视图控制器过渡在Facebook和许多其他应用中使用,快照附着。 这将需要与CoreAnimation框架玩或者是提供工具包?
Answer 1:
你,除非你想导入第三部分框架,有人建议使用CoreAnimation,但它是使用CoreAnimation很简单,我建议你学习它,因为它是非常强大的。 这是最简单的方法可以给你一个想法。 一旦你得到了它挂起,以满足您的需求,您可以构建更好自己一点:
在您的视图控制器有2个观点:
@interface yourViewController : UIViewController {
// The facebook view in the example, this will be the view that moves.
// Init this view with x=0 and let it cover the whole screen.
IBOutlet UIView *topView;
// The fb menu in the example
// Init this view so that it stays behind the topView.
IBOutlet UIView *bottomView;
BOOL menuVisible; // init to false in viewDidLoad!
}
在界面生成器,或通过代码或者无论你是用来创建它们。 让他们重叠海誓山盟,让你只看到了冠捷,让buttomView呆在后面。
当用户按下按钮,显示菜单:
-(IBAction)menuButtonPressed:(id)sender {
// Set up animation with duration 0.5 seconds
[UIView beginAnimations:@"ToggleMenu" context:nil];
[UIView setAnimationDuration:0.5];
// Alter position of topView
CGRect frame = topView.frame;
if (menuVisible) {
frame.origin.x = 0;
menuVisible = NO;
} else {
frame.origin.x = 300; //Play with this value
menuVisible = YES;
}
topView.frame = frame;
// Run animation
[UIView commitAnimations];
}
当然,你应该实现自己的UIView子类“脸谱视图”和“菜单视图”等,并在上面的例子中使用冠捷和bottomView。
Answer 2:
看看这个,它可能给你一个起点: https://github.com/Inferis/ViewDeck/
文章来源: How to facebook style transition