0

我对 RubyMotion 和 iOS 开发非常陌生,我想在我的应用程序中放置一个顶部栏,例如来自 groupme 的这个,并在其中间放置一个图标。

我怎么做?什么是图书馆?如何将其附加到视图?

我的代码中有代码app_delegate.rb,目前:

class AppDelegate
  def application(application, didFinishLaunchingWithOptions:launchOptions)
    @window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)

    tabbar = UITabBarController.alloc.init
    tabbar.viewControllers = [
        ProductMapController.alloc.init,
        SearchController.alloc.init,
        NewProductController.alloc.init,
        FeedController.alloc.init,
        UserDetailsController.alloc.init
    ]
    tabbar.selectedIndex = 0
    @window.rootViewController = UINavigationController.alloc.initWithRootViewController(tabbar)
    @window.rootViewController.wantsFullScreenLayout = true
    @window.makeKeyAndVisible

    true
  end
end

谢谢你,我很感激你能给我的任何帮助。

4

2 回答 2

2

我找到了解决方案:

在我的app_delegate.rb我有:

items_controller = ProductsController.alloc.initWithNibName(nil, bundle: nil)
@window.rootViewController = UINavigationController.alloc.initWithRootViewController(items_controller)

然后在我的items_controller.rb我有:

self.navigationItem.titleView = UIImageView.alloc.initWithImage(UIImage.imageNamed('logo.png'))

我认为这完全没问题,因为我不再污染我的app_delegate.rb了:)

如果您有更好的解决方案,请告诉我。

于 2012-07-22T00:59:14.333 回答
0

这是您想要的想法:

class AppDelegate
  def application(application, didFinishLaunchingWithOptions:launchOptions)
    @window = UIWindow.alloc.initWithFrame UIScreen.mainScreen.bounds
    @window.makeKeyAndVisible

    #creates a bar with a width of 320, a height of 100, and colors it blue
    bar = UIView.alloc.initWithFrame [[0, 0], [320, 100]]  
    bar.backgroundColor = UIColor.blueColor 

    #creates an imageView with the icon, change the coordinates to center your icon
    icon= UIImageView.alloc.initWithFrame([[100,0], [100,100]]) 
    icon.image = UIImage.imageNamed('youricon.jpeg')

    #adds the bar and icon to the window
    @window.addSubview bar
    @window.addSubview icon

    true
  end
end

您不希望在您的应用程序委托中使用这种代码,但我在此处添加它是为了给您一个简单的示例。

于 2012-07-15T20:50:28.940 回答