gpt4 book ai didi

iphone - 自定义导航栏

转载 作者:IT王子 更新时间:2023-10-29 07:47:48 28 4
gpt4 key购买 nike

我正在爬 Dribble 并找到了附加的设计。我想知道如何做这样的自定义导航栏。我的意思是如何创建一次导航栏并隐式地为每个 View Controller 重用它。

我在考虑拥有一种 Root View Controller 并继承其他 View Controller ,但我不知道该怎么做。

任何想法或链接都会收到!

干杯。

西里尔

Nav bar image

最佳答案

感谢 iOS5,您现在可以自定义 UINavigationBar 的外观,而无需子类化或创建类别。

以下代码块(将其放入您的 applicationDidFinishLoading: 方法中)会将整个应用程序的 UINavigationBar 更改为您提供的任何图像。

请注意,这仅适用于 iOS5

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav bar.png"] forBarMetrics:UIBarMetricsDefault];

但是,您也可以通过在 viewDidLoad 中使用以下代码,根据您所在的 View Controller 更改单个 UINavigationBar 的外观。

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

由于 iOS5,以上代码仅讨论自定义 UINavigationBar 外观的新方法。但是,它没有讨论按钮的实现方式。

但是,添加按钮完全是另一回事。为此,我建议子类化 UINavigationBar,然后通过它在需要的地方添加按钮。您甚至可以只使用标准的 UINavigationBar 而不是运行特定 View 的自定义 UIBarButtonItem

例如:

UIView *rightButton = [[[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 30.0f, 30.0f)] autorelease];
[rightButton addSubview:[UIImage imageNamed:@"rightButtonImage.png"]];

UIBarButtonItem *rightButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:rightButton] autorelease];
[rightButtonItem setAction:@selector(rightButtonAction:)];

我没有测试该代码,因此它不是复制/粘贴解决方案,但它让您了解需要做什么才能完成“自定义”外观的 UIBarButtonItems。

祝你好运!

关于iphone - 自定义导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548313/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com