画像ファイルを選択し表示(swift)

Objective-cでNSImageViewにsetImage出来ないので、swiftで同じような事をやってみます。

swiftだと普通に出来てしまいます。

うーん…何か変わったのかなぁ…

単純なミスでしたm(_ _)m

環境

  • OS X EI Capitan 10.11.5
  • xcode7.3.1

 

import Cocoa

class ViewController: NSViewController {
    
    @IBOutlet weak var iv1: NSImageView!

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.

        
    }

    override var representedObject: AnyObject? {
        didSet {
        // Update the view, if already loaded.
        }
    }


    @IBAction func btn1Click(sender: AnyObject) {
        
        
        let openPanel = NSOpenPanel()
        openPanel.title = "Choose a image file"
        openPanel.allowedFileTypes = ["png","jpg"]
        openPanel.allowsMultipleSelection = false
        openPanel.canChooseDirectories = false
        openPanel.canCreateDirectories = false
        openPanel.canChooseFiles = true

        /*
        // case1
        let result=openPanel.runModal()
        
        if result == NSFileHandlingPanelOKButton {
            let img=NSImage(contentsOfURL:openPanel.URL!)
            self.iv1.image=img
        }
        */
        
        // case2
        openPanel.beginWithCompletionHandler({(result:Int) in
            if(result == NSFileHandlingPanelOKButton)
            {
                let img=NSImage(contentsOfURL:openPanel.URL!)
                self.iv1.image=img
            }
        })
        
    }
}

GitHub


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA