自定义顶部导航栏

Custom Top Navigation Bar

我正在尝试复制最近在很多应用程序中流行的类似布局选项。

这是左右各一个按钮,中间有两个选项。

我一直在考虑创建自定义容器视图并使用我自己的自定义导航复制导航菜单,但是我不确定这是否是实现此目的的最有效方法。

我知道如何使用以下方法添加多个按钮,但这不提供将按钮定位在导航菜单中间的选项。

UIBarButtonItem *editBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editAction)];

我能得到一些关于在哪里寻找实现这种外观的建议吗?我环顾四周,但我的搜索条件可能有误。

您应该创建一个自定义的 UISegmentedControl 并将其放在导航栏中:

- (void)viewDidLoad {
    [super viewDidLoad];

    self.navigationItem.titleView = self.customSegmentControl;
}

对于背景,您应该使用您创建的图像,如果您要在整个应用程序中或在特定的视图控制器中使用相同的图像,则在 App Delegate 中调用它 window:

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar.png"] forBarMetrics:UIBarMetricsDefault];