Mac开发iOS之MAC端开发iOS Developer

Swift3.0 开发macOS应用程序(1) 入门小实例

2016-11-30  本文已影响1764人  MNode

国内开发iOS应用程序的很多,有关iOS方面的开发资料及源码也很多,然而关于开发MAC OS X应用程序的教程和资料却很少,最近时间比较多,将会长期更新MAC OS X应用开发教程。

1.创建工程
![2.png](http:https://img.haomeiwen.com/i2105518/fe6305d5adbb2131.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 3.png
2.MACOS storyboard内容简介

由主菜单、窗口控制器、视图控制区组成,和开发iOS移动应用程序差别很大。这里的视图控制区和iOS开发的ViewController类似


4.png
3.下面开始创建一个小实例。

会简单用到NSTextField,NSComboBox,NSButton,NSTextView。这里跟大家说一下,MACOS里的显示的label,其实质依旧是NSTextField,拖拽进视图控制器里的“姓名”、“年龄”、“性别”是NSTextField和姓名右边的NSTextField一样,不过表现形式不一样,这和我们理解的iOS完全不同。iOS对应的UILabel,macOS并没有NSLabel。依次拖入对应控件到视图控制器,如下图


5.png
4.storyboard上的控件与ViewController.swift文件连线,这和iOS一样,有IBOutlet和IBAction之分。代码如下
import Cocoa

let on = 1//开
let off = 0//关

class ViewController: NSViewController {
    var num=1
    @IBOutlet weak var nameTextField: NSTextField!
    @IBOutlet weak var ageCombox: NSComboBox!
    @IBOutlet weak var manBtn: NSButton!
    @IBOutlet weak var womanBtn: NSButton!
    @IBOutlet var resultTextView: NSTextView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        nameTextField.resignFirstResponder()
        addCombox()
    }
    @IBAction func submitPersonalMessages(_ sender: Any) {
        
        resultTextView.string="姓名" + nameTextField.stringValue + "\n"
        + "年龄:" + ageCombox.stringValue + "\n"
        + "性别:" + sexValue()
        
    }
    func sexValue() -> String {
        if manBtn.state == on {
            return "男"
        }else{
            return "女"
        }
    }
    @IBAction func chooseMan(_ sender: Any) {
        if womanBtn.state == on {
            womanBtn.state = off
        }
        manBtn.state=on;
    }
    @IBAction func chooseWoman(_ sender: Any) {
        if manBtn.state == on {
            manBtn.state = off
        }
        womanBtn.state=on;
    }
    
    func addCombox() {
        repeat{
            ageCombox.addItem(withObjectValue: num);
            num += 1
        }while num<=50
        ageCombox.stringValue="25"
    }

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

}
5.运行之后填写姓名、年龄、性别,如下图:
6.png
6.点击“提交个人信息”按钮,显示结果:如下图
8.gif

源码-->:github

上一篇 下一篇

猜你喜欢

热点阅读