如何在导航栏中设置背景图像

时间:2012-09-23 08:48:11

标签: rubymotion

我正在使用最新版本的RubyMotion。

我正在尝试在RubyMotion中的导航栏上设置自定义背景图像。但我不断收到错误。

这是我在AppDelegate中的代码:

dashboardController = DashboardController.alloc.initWithNibName(nil, bundle: nil)
nav_controller = UINavigationController.alloc.initWithRootViewController(dashboardController)

image = UIImage.imageNamed('navbar/background_navbar.png') 
nav_controller.appearance.setBackgroundImage(image, forBarMetrics:UIBarMetricsDefault)

这是错误:

*** Terminating app due to uncaught exception 'NoMethodError', reason: 'app_delegate.rb:10:in `application:didFinishLaunchingWithOptions:': undefined method `appearance' for #<DashboardController:0x6c4a9a0> (NoMethodError)

2 个答案:

答案 0 :(得分:3)

例外情况告诉您UINavigationController没有appearance方法。

如果您想更改应用中所有导航栏的外观,可以使用UINavigationBar致电UINavigationBar.appearance.setBackgroundImage(...代理。

如果您只想更改当前navigationBar的{​​{1}},请致电UINavigationController

答案 1 :(得分:0)

以下是一个很好的例子:https://github.com/IconoclastLabs/rubymotion_cookbook/tree/master/ch_2/10_imagenavbar

完全按照自己的意愿行事的代码。