iOS 7 改变 UINavigationBar titleView alpha

标签 ios cocoa-touch ios7 uinavigationbar

所以我使用的是 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 =

设置后退按钮的 alpha

关于iOS 7 改变 UINavigationBar titleView alpha,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20872838/

相关文章:

objective-c - 自定义 View 绘制一个矩形

ios - UIView 在 iOS7 中损坏但在 iOS8 中没有

iphone - Xcode升级: PBXContainerItemProxy missing containerPortal key

ios - iPhone 上未触发选择(适用于 iPad)

ios - 更改 iOS 模拟器键盘布局以匹配 Macbook 键盘

ios - 自动布局父 View 高度变化

iphone - 以编程方式确定 iPhone 是否越狱

iphone - 在不占用内存的情况下使用 UIImageView?

ios7 - 即使代码已运行,resignFirstResponder 也不会关闭键盘

ios - 上传xml文件到服务器