美文网首页Mac开发iOS之MAC端开发iOS Developer
Swift3.0 开发macOS应用程序(1) 入门小实例

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

作者: MNode | 来源:发表于2016-11-30 09:32 被阅读1764次

国内开发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

相关文章

网友评论

  • 4698c0ea5120:有用,加油!持续关注~
    MNode: @Vanshment 😁
  • 潇潇潇潇JJ:get到 了 君の名は
  • kuku小夭:很有用 新手来学习的
  • Daredake:满世界都是iOS平台的教程,你发的MACOS的教程就像一股清流一样,感谢你!:grin:
    MNode: @daredake 😏不用谢
  • 喜欢你说丶阮阮阮:请问 Combox 如何设置成下拉时自动选中某个值?比如:1~50,第一次下拉时出来的是 22,23,24,25,26,这样的
    喜欢你说丶阮阮阮:@走哪都有风 It works! Thank you!
    不过有一点歧义,at: 24 应该指的是 下拉框里第24位的值,如果要指定默认值还是使用ageCombox.stringValue="25" 较好。
    同样的 ageCombox.scrollItemAtIndexToTop(24) 是将第24位值排在最顶端
    MNode:比如默认24,这样设置ageCombox.selectItem(at: 24)
    ageCombox.scrollItemAtIndexToTop(24)
  • 安浪创想:如何系统的入门,有没有资料和书籍?我是一点头绪都没有。Mac开发和iOS差距好大。iOS倒是一抓一大把的教程
    MNode:只有翻墙看YouTube视频或者查看官方英文文档,不过即使是国外,Mac全面的资料也非常少。,不懂到stack overflow找找

本文标题:Swift3.0 开发macOS应用程序(1) 入门小实例

本文链接:https://www.haomeiwen.com/subject/kaxzpttx.html