我正在开发一个应用程序,它底部有一个UITabBarController,屏幕顶部有UINavigationController.
可以通过UITabBarController访问的部分之一是"照片库"部分,我可以在其中全屏查看照片.
我可以使用以下代码隐藏它们而不用动画
self.navigationController.navigationBarHidden = YES;
[self.tabBarController.tabBar setHidden:TRUE];
Run Code Online (Sandbox Code Playgroud)
当我想要全屏查看照片时,如何用一点淡化动画隐藏UINavigationController和UITabBarController?(就像Facebook应用程序在你想要全屏查看照片时隐藏它们一样)
或者,根据代码片段,有没有比我正在做的更好的方法?
谢谢,
Tee
只需制作自己的动画.您可以使用以下代码......
对于UINavigationController:
[UINavigationBar beginAnimations:@"NavBarFade" context:nil];
self.navigationController.navigationBar.alpha = 1;
[self.navigationController setNavigationBarHidden:YES animated:NO]; //Animated must be NO!
[UINavigationBar setAnimationCurve:UIViewAnimationCurveEaseIn];
[UINavigationBar setAnimationDuration:1.5];
self.navigationController.navigationBar.alpha = 0;
[UINavigationBar commitAnimations];
Run Code Online (Sandbox Code Playgroud)
对于UITabBarController:
[UITabBar beginAnimations:@"TabBarFade" context:nil];
self.tabBarController.tabBar.alpha = 1;
[UITabBar setAnimationCurve:UIViewAnimationCurveEaseIn];
[UITabBar setAnimationDuration:1.5];
self.tabBarController.tabBar.alpha = 0;
[UITabBar commitAnimations];
Run Code Online (Sandbox Code Playgroud)
您还可UIViewAnimationCurve以为不同类型的渐变选择不同的,或通过为setAnimationDuration消息提供不同的输入(以秒为单位的时间)来更改动画的持续时间.
编辑:对于"重新出现"的淡入淡出动画,你只需要反转alpha值,这样就可以从0变为1.如果你想看到这个代码,请给我留言.
| 归档时间: |
|
| 查看次数: |
4298 次 |
| 最近记录: |