ios - 没有 backgroundColor 的 UINavigationBar

标签 ios objective-c uinavigationbar

我想创建一个没有彩色背景的 UINavigationBar

我试过了

 self.navigationController.navigationBar.backgroundColor = [UIColor clearColor];

 self.navigationController.navigationBar.backgroundColor = nil;

但无法解决问题。我还尝试为用于 self.view.backgroundColor 的导航栏设置相同的颜色,但我无法覆盖原来的颜色。 (我使用的 Storyboard 可能会导致问题,但不确定,因为我可以使用代码操作 tintColor。)

最佳答案

self.navigationController.navigationBarHidden = NO;
    [self.navigationController.navigationBar setBackgroundImage:[UIImage new]
                             forBarMetrics:UIBarMetricsDefault];
    self.navigationController.navigationBar.shadowImage = [UIImage new];
    self.navigationController.navigationBar.translucent = YES;

UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
//[backButton setImage:[UIImage imageNamed:@"you_back_image"] forState:UIControlStateNormal]; this is the image you would use as a back image
[backButton setTitle:@"back" forState:UIControlStateNormal];
[backButton sizeToFit];
[backButton addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem* backBarButton = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem = backBarButton;

然后编写方法goBack,这取决于您是否呈现或推送当前ViewController。

- (void)goBack {
//[self dismissViewControllerAnimated:YES] 
//[self.navigationController popViewControllerAnimated:YES];
}

关于ios - 没有 backgroundColor 的 UINavigationBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28035817/

相关文章:

iphone - 来自 socket 的自定义 UIView

ios - 播放堆叠视频

ios - MBProgressHUD 更改动画类型

ios - 导航栏背景图-支持iOS6和iOS7

ios - 试图构建一个顶部带有导航栏的表格 View

ios - 如何使用 Xcode 4.2 导入用于 Objective-C 的 Google API 客户端库

ios - 如何识别哪种手指类型——食指、中指等

iphone - 使用 OpenGL 在 iPhone 上扭曲图像

iphone - NSURL设置为nil而不是路径

ios - 在 navigationController 中有一个通用的条形按钮项目