【发布时间】:2010-06-23 22:30:14
【问题描述】:
我是 iPhone 编程的新手...有人可以帮帮我吗..
我想在 iPhone 上开发一个类似照片应用程序的应用程序..
如何使导航栏和工具栏像 iPhone 中的照片应用一样透明和淡出
谢谢你..
【问题讨论】:
标签: iphone uinavigationbar uitoolbar
我是 iPhone 编程的新手...有人可以帮帮我吗..
我想在 iPhone 上开发一个类似照片应用程序的应用程序..
如何使导航栏和工具栏像 iPhone 中的照片应用一样透明和淡出
谢谢你..
【问题讨论】:
标签: iphone uinavigationbar uitoolbar
UINavigationBar 继承自UIView,因此您可以使用UIView 的动画方法通过将alpha 属性设置为0 来淡出它。这应该可以:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[navigationBar setAlpha:0.0];
[UIView commitAnimations];
【讨论】:
由于我是一个使用块的人,所以我使用这个小sn-p。
[UIView animateWithDuration:0.5 animations:^{
[navigationBar setAlpha:0.0];
}];
对我来说感觉更好,但你应该只在你习惯了阻塞并且你正在使用 iOS 4.0 或更高版本时才应该这样做。
【讨论】:
要使栏透明,请使用setBarStyle: 和UIBarStyleBlackTranslucent。
要隐藏带有淡入淡出动画的栏,请使用发布的代码 sn-p Macatomy。
【讨论】:
根据 Apple 规范,您不应更改导航栏的 frame、bounds 或 alpha 值。
要隐藏(或显示)导航栏,您可以更改navigationBarHidden 属性或调用setNavigationBarHidden:animated 方法。
【讨论】:
-[UINavigationController setNavigationBarHidden:animated:]总是执行滑出效果而不是OP要求的淡出效果。