2012-09-23 3 views
1

J'utilise la dernière version de RubyMotion. J'essaye de placer une image de fond faite sur commande sur la barre de navigation dans RubyMotion. Mais je continue à avoir des erreurs.Comment définir l'image de fond dans la barre de navigation

Ceci est mon code dans 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) 

Ceci est l'erreur:

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

Répondre

3

L'exception vous dit que UINavigationController n'a pas une méthode appearance. Si vous souhaitez modifier l'apparence de toutes les barres de navigation dans votre application, vous pouvez appeler le proxy UINavigationBar avec UINavigationBar.appearance.setBackgroundImage(....

Si vous voulez changer juste la navigationBar du UINavigationController actuel puis appelez nav_controller.navigationBar.setBackgroundImage(...

Questions connexes