如何设计自定义导航栏

时间:2014-02-25 07:44:23

标签: ios iphone uiview uinavigationcontroller uinavigationbar

我已经搜索了很多如何设计图像中给出的导航。

enter image description here
我已经为UINavigationBar创建了类别,如下面的解决方案所示 Custom nav bar styling - iOS

可以使用以下代码增加NavigationBar的大小。

CGFloat navBarHeight = 84.0f;
CGRect frame = CGRectMake(0.0f, 0.0f, 320.0f, navBarHeight);
[self.navigationController.navigationBar setFrame:frame];

但是所有内容(如左按钮,右按钮,标题)都会移到栏的底部。

将段控制附加到titleView,如下所示

self.navigationItem.titleView = self.segmentedControl;  

所有视图(左键,标题,右键)作为线条。

我希望segment control位于导航栏的底部,如图所示。

3 个答案:

答案 0 :(得分:1)

@Shankar Shinde为什么要添加分段控制器作为导航标题视图,您可以使用故事板添加到导航栏下方:查看下面的屏幕截图

enter image description here

我认为您需要使用以下代码隐藏导航栏并创建视图,如附加屏幕截图让我知道它对您有帮助吗?

 [self.navigationController.navigationBar setHidden:YES];

enter image description here

答案 1 :(得分:0)

请查看样本:

https://github.com/boctor/idev-recipes/tree/master/WoodUINavigation

它可能对你有所帮助:)。

答案 2 :(得分:0)

您可以使用为navigationItem提供的提示 首先给出你的navigationItem提示

self.navigationItem.prompt = @"";

创建segmentcontroll

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray];
segmentedControl.frame = CGRectMake(35, 200, 250, 50);
segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;
segmentedControl.selectedSegmentIndex = 1;
[self.navigationController.navigationBar addSubview:segmentedControl];