新的窗口控制器无法正确响应

时间:2019-08-12 05:11:18

标签: swift macos swift4 nswindowcontroller

我是swift的新程序员。我试图创建一个新的窗口控制器来处理DatePicker的东西。现在,新窗口只能显示和初始化,而不能做进一步的工作。

  • DatePicker图像

image datePicker

在主ViewController中,我包括了以下几行

let datePickerVC = DatePicker()
datePickerVC.showWindow(nil)

import Cocoa

class DatePicker: NSWindowController{


@IBOutlet weak var datePicker: NSDatePicker!
@IBOutlet weak var datePickerView: NSView!
@IBOutlet weak var dateField: NSTextField!

var selectedDate = ""

convenience init(){
    self.init(windowNibName: "DatePicker")
    self.window?.level = .floating

}

@objc func chooseDateForUpload(){
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyyMMdd"
    selectedDate = dateFormatter.string(from: datePicker.dateValue)
    dateField.stringValue = selectedDate
    print("selectedDate.dateValue: \(selectedDate)")
}

override func windowDidLoad() {
    super.windowDidLoad()
    initWindowView()
}

func initWindowView(){
    datePicker.dateValue = Date()
    datePicker.target = self
    datePicker.action = #selector(chooseDateForUpload)
    let action = NSEvent.EventTypeMask.mouseExited
    self.datePicker.sendAction(on: action)
    chooseDateForUpload()
}

当前,它仅击中chooseDateForUpload一次,无法做任何进一步的工作。我希望每次我更改DatePicker时,它都会做出反应并得到日期,但是初始化后到目前为止,什么也没有返回。

0 个答案:

没有答案