objective-c - 如何在 RubyMotion 中实现 OSX 上的图像按钮?

标签 objective-c ruby macos cocoa rubymotion

这对我来说应该是非常简单的事情,但我就是无法让它发挥作用。

我正在创建一个这样的按钮:

closeButton = NSButton.alloc.initWithFrame(
    [[10, 10], [100, 22]]
  ).tap do |button|
    button.bezelStyle = NSShadowlessSquareBezelStyle
    button.buttonType = NSMomentaryChangeButton
    button.title = 'Close'
    button.bordered = false
    button.image = NSImage.imageNamed('img/circle')
    p button.image
    button.imagePosition = NSImageOnly
    button.target = window
    button.action = 'close'
  end

有 2 个图像,circle.pngcircle@2x.png,存储在 /Resources/img 中。

不用说,我得到一个灰色按钮,里面没有文本或图像。此外,p button.image 返回nil

我已经多次清理和重建我的项目。

这看起来实现起来并不难。我忽略了什么?

最佳答案

首先,我想说我对 OSX 的经验为零,但我希望这些 iOS 信息能有所帮助。有人告诉我它们非常相似。您需要确保您使用的是自定义按钮 (UIButtonTypeCustom)。这将允许您使用背景图像功能。

这里有一些很好的示例代码,可能会对您有所帮助。

https://github.com/IconoclastLabs/rubymotion_cookbook/tree/master/ch_2/16_buttons

再次,如果这不起作用,我很抱歉,但我想我会发布此信息来提供帮助!

关于objective-c - 如何在 RubyMotion 中实现 OSX 上的图像按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28575424/

相关文章:

javascript - 如何将字符串参数传递给 JavaScript 方法

objective-c - 创建日期范围

ruby-on-rails - 如何让实例变量访问 rails 中的 'id'?

macos - Git for Mac 无法启动 : "illegal instruction"

ios - 在后台线程中使用 MagicalRecord 和 NSXMLParser

ios - 如何在收到本地通知数据后创建传递给使用 objective-c 的主视图 Controller ?

mysql - 更高效的事件记录分组

ruby - 在 Ruby 中,如何对这个奇怪的字符进行 UTF-8 编码?

python - pip 安装 pygraphviz : No package 'libcgraph' found

python - 如何将 OS X Python 模块(站点包)移动到服务器位置?