想要实现一个视图控制器转换类似于Facebook和许多其他应用程序中使用,附加快照。它需要使用CoreAnimation框架还是可以在工具包中使用?如何Facebook风格转换
回答
你,除非你想导入第三部分框架,有人建议使用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!
}
在界面生成器,或通过代码或然创建他们,一旦你得到它的窍门,以满足您的需求,您可以构建更好自己一点你习惯了。让它们重叠,让你只能看到topView,并让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。
嗨我也试图在我的iPhone应用程序中实现相同的功能。按照您的建议,我使用了两个UIViews,并使用toggleMenu动画来滑动topView。但是因为我有一个UINavigationController,它不会随着topView滑动,它只是保持在同一个位置。我能做些什么呢?非常感谢你的建议。 – Yasodha 2012-08-28 10:15:03
由于这是“自己动手”解决方案,因此将其与UINavigationController结合起来会很复杂。如果您无法使用位于视图之上的NavigationController,则可以停止使用它并制作自己的导航栏(我会推荐这个),也可以在菜单可见的时候隐藏它。我相信有一些方法可以将它推到一边,但是我没有看到足够的价值来尝试了解... – 2012-09-10 08:08:43
@ user1280436您尝试使用navigationcontroller.view来动画,然后导航栏也会生成动画。请尝试一下我以前没做过。 – 2012-10-30 05:55:04
看看这个,它可能给你一个起点: https://github.com/Inferis/ViewDeck/
您好我也试图在我的iPhone应用程序中实现相同的功能。我按照建议使用了两个UIViews,并使用toggleMenu动画来滑动topView。但是因为我有一个UINavigationController,它不会随着topView滑动,它只是保持在同一个位置。我能做些什么呢?非常感谢你的建议。提前致谢。 – Yasodha 2012-08-28 12:27:46
- 1. 转换为Pointfree风格?
- 2. 将C风格转换为Python风格的整数
- 3. 转换mapbox-风格的OpenLayers 3 vectorTile风格
- 4. 将ruby源代码从旧风格转换为新风格hash
- 5. 将C风格铸件转换为C++风格铸件
- 6. 将较旧的Spinner风格转换为较新的风格
- 7. 错误:从整型转换为指针类型需要reinterpret_cast,C风格转换或函数风格转换
- 8. 的reinterpret_cast对C风格的转换
- 9. 风格的绑定数据转换器
- 10. 更新转换中的轴风格
- 11. 将Markdown转换为Github风格的Markdown
- 12. GLSL C风格数字转换
- 13. C++的类型转换风格
- 14. 转换PEAR :: DB-风格DSN为PDO-DSN
- 15. Github风格的页面转换?
- 16. PHP风格转换不工作
- 17. 将XSL转换为div风格
- 18. 转换为SQL风格的字符串
- 19. AC转换风格的程序到C++
- 20. Backbone Marionette iOS风格的页面转换
- 21. 将R代码转换为R风格
- 22. ms-word template命名风格转换
- 23. 转换MATLAB风格索引,以numpy的
- 24. 如何将std :: string转换为C风格的字符串
- 25. 如何将README.md转换为Github风格的HTML?
- 26. 如何将HTML代码转换为Confluence风格的Wiki标记?
- 27. 如何将Badgerfish风格的JSON转换为Java中的XML?
- 28. 如何设置风格但不是路径的转换器?
- 29. With when.js如何将promise转换为Node.js风格的回调?
- 30. 如何将WPF中的Expander风格转换为Silverlight
它在Cocoa Touch中不可用,您将不得不在屏幕上查看和查看控制器,并自行将顶部拖动到一边。 – 2012-07-11 13:25:00
任何入门的东西/资源? – Firdous 2012-07-11 13:25:53
对不起。我不知道任何好资源 – 2012-07-11 13:29:43