在 Storyboarded 应用程序中的 UINavigationBar 上哪里调用 setBackgroundImage:forBarMetrics: ?

发布于 2024-12-09 19:51:18 字数 267 浏览 1 评论 0原文

我有一个基于故事板的应用程序,其中导航控制器作为初始视图控制器。

我想使用 setBackgroundImage:forBarMetrics: 方法将导航栏的背景设置为图像,但我不确定在哪里调用它。

我可以子类化 UINavigationController 并使用 viewDidLoad 方法来调用它,但不鼓励子类化 UINavigationController。我想我应该子类化 UINavigationBar 并重写一些初始化方法?

谢谢,

史蒂夫

I have a storyboard based app with a navigation controller as the initial view controller.

I would like to set the background for the navigation bar to an image using the setBackgroundImage:forBarMetrics: method, but I am unsure of where to call it.

I could subclass the UINavigationController and use the viewDidLoad method to call it, but subclassing UINavigationController is discouraged. I guess I should subclass UINavigationBar and override some initialisation method?

Thanks,

Steve

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

⊕婉儿 2024-12-16 19:51:18

我自己已经解决了这个问题。我希望整个应用程序中的所有导航栏都具有自定义背景,因此最简单的方法似乎是使用导航栏的外观代理:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"title_bar.png"]

这会将所有导航栏的背景图像设置为“title_bar.png” 。

进行此类自定义的好地方似乎是

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

应用程序委托中的: 方法。

I've worked this one out myself. I wanted all navigation bars throughout the app to have the custom background, so the easiest way to do this seems to be using the appearance proxy for the navigation bar:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"title_bar.png"]

This will set the background image of all navigation bars to be "title_bar.png".

It would seem a good place to do this sort of customisation is in the:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

method in your application delegate.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文