ios - 在 IOS Objective c 应用程序中自定义导航栏

标签 ios objective-c uinavigationbar

我想要这样的导航栏。

Bar

我可以通过以下代码设置左按钮:

-(void) setNavigationButtons:(NSString *)title{
    UIImage *logoImage = [UIImage imageNamed:@"back-icon"];
    UIButton *logoBackButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [logoBackButton setImage:logoImage forState:UIControlStateNormal];
    logoBackButton.frame = CGRectMake(0.0, 0.0, 50, 50);
    UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:logoBackButton];
    [logoBackButton addTarget:self action:@selector(backAction:) forControlEvents:UIControlEventTouchDown];
    [self.navigationController.navigationBar setTitleTextAttributes:
 @{NSForegroundColorAttributeName:[Constants Instance].whiteColor}];
    self.navigationController.navigationBar.barTintColor = [Constants Instance].navigationTitleColor;
    [self setNavigationTitle:title];
    self.navigationItem.leftBarButtonItem = backBarButtonItem;
}

-(void)setNavigationTitle:(NSString *)title{
    self.navigationItem.title = title;
    [self.navigationController.navigationBar setTitleTextAttributes:
    @{NSForegroundColorAttributeName:[UIColor whiteColor],
    NSFontAttributeName:[UIFont fontWithName:@"Nexa Light" size:20]}];
}

- (IBAction)backAction:(id)sender {
    [self.navigationController popViewControllerAnimated:YES];
}

但它不附加到左侧并且有边距。我希望它像上面的屏幕截图一样固定在左侧。我不想在该按钮上显示任何文本,例如返回等。

右键也发生了类似的情况。

编辑
这是结果:
enter image description here

如果我在该代码的末尾添加这一行,我会遇到更多问题。
self.navigationItem.rightBarButtonItem = backBarButtonItem;

为了也显示右键,它只显示右键但不显示左键。意味着我不能同时设置两个按钮。

最佳答案

隐藏真实导航栏并添加UIView相反,它将作为 navigation bar .并在其上添加两个按钮。您的 View 框架应为 (0,0,64,screenWidth) .这对您来说会更容易,因为根据您的屏幕截图,您不需要此屏幕的后退按钮,因此您应该隐藏 navigation bar对于这个屏幕,它会比定制真正的导航栏更容易!

关于ios - 在 IOS Objective c 应用程序中自定义导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40284931/

相关文章:

ios - 如何以编程方式将标记 (UIControl) 添加到 UITextField 或 SearchBar?

objective-c - 如何在 Objective-C 中自毁对象?

ios - 在没有 UINavigationController 的情况下显示导航栏

ios - 如何解决 "Failed to determine navigation direction for scroll"错误

iphone - 使用简单音频引擎的声音循环之间的轻微停顿

iphone - 在后台播放视频

objective-c - 当我更改 UIView 时,我的 NavigationBar 没有

ios - UINavigationBar 外观和 Facebook-Sheet Bug

ios - 如何使用覆盖调整捕获的图像

ios - 如何通过更改背景图像和更改UIImageView的位置进行动画处理