加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

用Swift开发Mac App(1)

发布时间:2020-12-14 02:14:27 所属栏目:百科 来源:网络整理
导读:原文超级详细(图文),小白表示毫无压力:http://www.raywenderlich.com/87002/getting-started-with-os-x-and-swift-tutorial-part-1 由于原文浅显到略显啰嗦,因此翻译时我有选择地删除了部分段落。 打开Xcode,使用 FileNewProject… 菜单,在弹出窗口

原文超级详细(图文),小白表示毫无压力:http://www.raywenderlich.com/87002/getting-started-with-os-x-and-swift-tutorial-part-1

由于原文浅显到略显啰嗦,因此翻译时我有选择地删除了部分段落。

打开Xcode,使用FileNewProject…菜单,在弹出窗口中选择 “OS X/Application”,然后Next。


在接下来的窗口中,配置App信息。在product name栏中输入ScaryBugsMac,输入你的机构名以及机构ID。剩余字段保留为空白。

选择Swift作为开发语言,保持所有选项框反选,document extension栏保留为空白。然后点Next。


然后Xcode会要求你选择项目保存路径。选择一个物理路径,然后点击Create。

项目就创建完了,这是一个单窗口App。点击工具栏左上角的Run按钮,运行这个程序,效果如下图所示。


首先我们来总结一下。我们使用Xcode模板创建了一个Mac App项目,然后编译运行了这个空白项目。与iOS开发的最大不同在于:

·窗口不需要特别指明大小,比如iPhone或iPad屏幕大小——MacApp的窗口是可以通过拖动来改变大小的。

·Map App可以拥有多个窗口,窗口支持最小化,重排等操作。

然后我们来新建一个View Controller,并在它上面放入App的主界面。使用

FileNewFile…菜单,在弹出窗口中,选择OS XSourceCocoa Class,然后点Next。


类名填入 MasterViewController,“Subclass of”填入NSViewController。确保“Also create XIB file for user interface” 为勾选,然后点Next。


在最后一个弹出窗口中,点击Create。新的View Controller将显示在项目导航窗口中:


打开MasterViewController.xib。需要注意的是,在Mac App中,有大量的类和iOS中都类似,只不过是以NS前缀命名。例如NSScrollView、NSLabel、NSButton等。

在右下角的UI Controls面板(位于第三个Tab)中,选中NSTableView将它拖到MasterViewController.xib的画布中。


不要担心Table View的大小,我们待会会来处理它。

打开AppDelegate.swif在window属性下面插入如下语句:

var masterViewController: MasterViewController!

找到applicationDidFinishLaunching方法,这个方法在App启动时调用。

注意:这个方法等同于iOS中的application(_:didFinishLaunchingWithOptions:)方法。

applicationDidFinishLaunching方法内,加入以下语句:

masterViewController = MasterViewController(nibName: "MasterViewController",bundle: nil)

window.contentView.addSubview(masterViewController.view)

masterViewController.view.frame = (window.contentView as NSView).bounds

在 OS X中,窗口(NSWindow对象)总是有一个默认的View,即contentView。它自动占据整个窗口的大小。当我们想在窗口中使用自己的视图时,需要用addSubview方法将它添加到contentView的subviews中。

在iOS开发中,我们可以设置将一个View Controller直接设置为窗口的rootViewController属性,但在OS X中你只能将视图添加到contentView的subviews,因为OS X中没有rootViewController的概念。

运行App,你将看到如下画面:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读