ios - 如何仅在一个 UIViewController 中将自定义 UIView 添加到 UINavigationBar

标签 ios objective-c uiview uiviewcontroller uinavigationcontroller

好的,所以我正在尝试将一个 subview 添加到我的 navigationController 的导航栏,它工作得很好,但是,当推送一个细节 Controller 时,我不希望在细节 View Controller 的导航栏中看到来自推送 Controller 的那个 subview 。

我感谢提供的任何帮助/指示。重申:我需要 subview 只显示在导航 Controller 的根目录中,而不是在任何细节 Controller 中。

这是我当前用于创建和添加导航 Controller subview 的代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.ImageView = [[UIImageView alloc]init];
    self.ImageView.frame = CGRectMake(0, 8.5, 320, 36);
    self.ImageView.contentMode = UIViewContentModeScaleAspectFit;
    self.ImageView.image = [UIImage imageNamed:@"Logo"];
    self.ImageView.clipsToBounds = YES;
    [self.navigationController.navigationBar addSubview:self.ImageView];
}

最佳答案

最好的方法是

  • 将标签添加到您的 imageView。
  • 使用标签访问您的 imageView 并在您要显示此内容的 mainViewcobtroller 的 viewWillAppear 中将其 alpha 设置为 1。
  • 在新 View Controller 的 viewWillAppear 方法中,访问具有相同标签的 View ,然后将其 alpha 设置为 0。

  • 那应该可以解决您的问题
    如果您需要代码,请评论。

    关于ios - 如何仅在一个 UIViewController 中将自定义 UIView 添加到 UINavigationBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21359668/

    相关文章:

    ios - Objective-C:修复方法中的内存管理

    iOS 动画容器 View 使它们不响应触摸事件

    ios - 如何以编程方式使用 UIView autoresizingMask 属性?

    c++ - 适用于 iPhone 的 C 与 C++(Objective-C 与 Objective-C++)

    ios - 在 iOS 错误中创建 plist 文件

    ios - 将 NSMutableArray 添加到项目并在另一个类中访问相同的 NSMutableArray

    objective-c - iOS 中的 Mac OS X 快速用户切换

    ios - 更改 View 的父级

    ios - 解析 becomeInBackground 将 currentUser.sessionToken 设置为 null

    ios - 试图从 didSelectCellAtIndex 将图片加载到新的 ViewController