所以我使用的是 iOS7 的 UINavigationBar 组件,而不是 UINavigationController 本身。当我使用自定义导航 Controller 推送新 View 时,我想将标题的 alpha 更改为 0.0 然后再更改回来,但我似乎无法让它工作。
我正在尝试这样做
vc1.navBar.topItem.titleView.alpha = 0.1;
好像没什么效果。我在这里遗漏了什么吗?有没有正确的方法来实现这一目标?
最佳答案
我会这样做:
在推送的 viewController 的
viewWillAppear:
中,我会使用以下方法将它的 alpha 设置为 0:[self.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [[UIColor whiteColor] colorWithAlphaComponent:0], NSForegroundColorAttributeName, [UIFont fontWithName:@"Helvetica-Bold" size:16.0], NSFontAttributeName, nil]];
在
viewDidAppear:
中,将它的 alpha 设置回 1。在这里你真的不需要将它的 alpha 设置为 1,只需将它设置为普通的[UIColor whiteColor]
就可以了。
您可以做的另一件事是,切换 2 种方法中的 HIDDEN
属性。
设置 titleView 的 alpha 在我的情况下不起作用,所以我使用了上面的代码。它隐藏了标题。如果您想使用后退按钮获得类似的效果,您可以使用 self.navigationItem.backBarButtonItem.customView.alpha =
关于iOS 7 改变 UINavigationBar titleView alpha,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20872838/