【问题标题】:Positioning a NSImage within a NSButton在 NSButton 中定位 NSImage
【发布时间】:2017-10-06 09:19:59
【问题描述】:

我有一个NSButton,以编程方式创建。在所述按钮中,我有一个 NSImage 用作图标:

let button = NSButton(frame: NSRect(x: 10, y: (200 + (50 * id)), width: 100, height: 50))
button.action = #selector(self.switchToView)
let img = NSImage(named: "wob_icon")
button.image = img

我想要做的是获得 10pt 的图像。从按钮的左侧,同时垂直居中。到目前为止,图像显示为水平居中和垂直居中,但由于我似乎无法定义框架或类似的东西,所以我无法真正移动它。

有没有办法在它的父级(按钮)内移动图像?

谢谢。

【问题讨论】:

    标签: swift macos swift3 nsimage


    【解决方案1】:

    也许您可以在NSButton 上使用imagePosition 属性? (documented here)。

    它使用NSCellImagePosition (documented here) 类型的枚举,并允许您将图像设置在文本的左侧、文本的右侧、文本的上方、文本的下方等等。

    你仍然没有机会将像素完美地对齐,但如果你能忍受,那么imagePosition 似乎是要走的路。

    这里是如何使用它:

    let button = NSButton(frame: NSRect(x: 10, y: 10, width: 100, height: 50))
    button.action = #selector(self.switchToView)
    let img = NSImage(named: "wob_icon")
    button.image = img
    button.imagePosition = .imageLeft
    button.title = "Look left :)"
    

    这给了我这个令人惊叹的用户界面:

    希望对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-02
      相关资源
      最近更新 更多