1

我正在使用最新版本的 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)
4

2 回答 2

3

例外是告诉你UINavigationController没有appearance方法。

如果要更改应用中所有导航栏的外观,可以UINavigationBar使用UINavigationBar.appearance.setBackgroundImage(....

如果您只想更改navigationBar当前的UINavigationController然后调用nav_controller.navigationBar.setBackgroundImage(...

于 2012-09-23T12:20:16.803 回答
0

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

做你想做的事的代码。

于 2012-09-24T12:38:55.603 回答