美文网首页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