在cocoa应用程序OS X中禁用按钮

时间:2016-04-08 21:47:04

标签: swift cocoa osx-yosemite

我希望在验证表单上的某些字段后启用提交按钮。目前预览功能效果很好,预览按钮提供了我需要的验证。使用Xcode 7和swift 2.如果有人能指出我正确的方向,我真的很感激。以下是我目前的代码:

import Cocoa

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {

    var projectFlag = false
    var descriptionFlag = false
    var releaseFlag = false

    // Fields
    @IBOutlet weak var projectNumberTextField:NSTextField!
    @IBOutlet weak var projectDescriptionTextField:NSTextField!
    @IBOutlet weak var releaseFolderNameTextField:NSTextField!
    @IBOutlet weak var passwordTextField:NSTextField!

    // Labels for preview
    @IBOutlet weak var label1: NSTextField!
    @IBOutlet weak var label2: NSTextField!
    @IBOutlet weak var label3: NSTextField!
    @IBOutlet weak var label4: NSTextField!
    @IBOutlet weak var label5: NSTextField!

    // Quit Button :: Quits the application
    @IBAction func quitButton(sender: AnyObject) {
        NSApplication.sharedApplication().terminate(self)
    }

    // Preview button behavior
    @IBAction func previewButton(sender: AnyObject) {

        // Project Number :: 
        let project = projectNumberTextField.stringValue
        label1.stringValue = "\(project)"
        if (label1.stringValue == "00-0000") {
            label1.stringValue = "Project Number is not valid"
            label1.textColor = NSColor.redColor()
            projectFlag = false
        } else {
        label1.textColor = NSColor.blackColor()
        projectFlag = true
        }

        // Project Description :: Name, 2016
        let description = projectDescriptionTextField.stringValue
        label2.stringValue = "\(description)"
        if (label2.stringValue == "Name, 2016") {
            label2.stringValue = "Enter a valid project description"
            label2.textColor = NSColor.redColor()
            descriptionFlag = false
        } else {
            label2.textColor = NSColor.blackColor()
            descriptionFlag = true
        }

        // Folder Release Name :: RELEASE_NAME
        let release = releaseFolderNameTextField.stringValue
        label3.stringValue = "\(release)"
        if (label3.stringValue == "RELEASE_NAME") {
            label3.stringValue = "Enter a valid folder release name"
            label3.textColor = NSColor.redColor()
            releaseFlag = false
        } else {
            label3.textColor = NSColor.blackColor()
            releaseFlag = true
        }


        // Password :: If needed
        let password = passwordTextField.stringValue
        label4.stringValue = "\(password)"

        // Preview :: Code format for txt file
        let preview = "\(project)|"+"\(description)|"+"\(release)|"+"\(password)/"
        label5.stringValue = "\(preview)"
        }

    // Submit button behavior
    @IBAction func submitButton(Sender: AnyObject) {


    }

    func applicationDidFinishLaunching(aNotification: NSNotification) {
        // Insert code here to initialize your application
    }


    func applicationWillTerminate(aNotification: NSNotification) {

        // Insert code here to tear down your application
    }
}

0 个答案:

没有答案