我正在使用最新版本的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)
答案 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
完全按照自己的意愿行事的代码。