如何使用setContentView更改停靠图标以在mac os x中显示一个大字符

时间:2014-11-26 14:36:24

标签: objective-c macos cocoa swift dock

我想将应用的停靠图标更改为一个大字符,例如" A"或" B"例如使用swift或Objective C

2 个答案:

答案 0 :(得分:2)

import Cocoa

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {

    @IBOutlet weak var window: NSWindow!

    @IBOutlet weak var dockView: NSView!
    @IBOutlet weak var dockText: NSTextField!
    let appDockTile =  NSApplication.sharedApplication().dockTile

    func prepareDock(){
        appDockTile.contentView = dockView
        appDockTile.display()
    }
    func changeText(){
        dockText.stringValue = "B"
         appDockTile.display()
    }
    func applicationDidFinishLaunching(aNotification: NSNotification) {
        // Insert code here to initialize your application
        prepareDock()

    }

    func applicationWillTerminate(aNotification: NSNotification) {
        // Insert code here to tear down your application
    }

    @IBAction func btnChangeText(sender: AnyObject) {
        changeText()
    }

}

答案 1 :(得分:0)

我为OSX swift 4.x支付的两分钱:

(使其闪烁..)

...

self.HeartBeatTimer = Timer.scheduledTimer(withTimeInterval: DELTA_T, repeats: true, block: { (t: Timer) in

      let name = colored ? "heartbeat" : "heartbeat_red"
      let image = NSImage(named:  name)            
      let appDockTile =  NSApplication.shared.dockTile
      appDockTile.contentView = NSImageView(image: image!)
      appDockTile.display()
}