用Swift开发Mac App(4)

创建详情页面

在iOS中,典型的“主-细页面App”需要创建两个视图,但在 OS X,由于屏幕不再受到限制,我们可以将它们合并在同一个视图中。

打开MasterViewController.xib,选中view,将宽度和高度拖大。如图:

技术分享

我们需要显示下列信息: 昆虫名, 惊悚指数和昆虫图片。

昆虫名用NSTextField 控件显示,惊悚指数用EDStarRating 控件显示,昆虫图片则用NSImageView显示。

此外,我们还需要两个Label,用于表示每个字段的意义(标题)。

 

拖一个 Text Field (昆虫名), 2个Labels (字段标题), 一个Image View 到view中。

EDStarRating 控件是一个定制控件,无法在Objects Library中找到它,因此你需要先拖入一个 “Custom View”控件。

将这些控件放到view的右边,从上到下依次摆放:

·      首先是一个Label,用于充当昆虫名的字段标题,在它下边是 textfield。

·      在text field下面是第二个 label(惊悚指数的字段标题)。

·      在这个label,下边是一个customview (后面将改成EDStarRating控件)。

·      最下面是image view below 控件。

所有控件左对齐,如下图所示:

技术分享

然后选中custom view 控件,打开Identity面板(第三个标签按钮)将Class 修改为EDStarRating

技术分享

选择第一个label,打开Attributes 面板(第4个标签按钮),修改Title 为 “名称”.

依照上面的方法,将第二个label的title 改为“Rating”。

选择最顶级的 view (在document outline面板中显示为“Custom View”) ,打开Size 面板,查看它的大小:

技术分享

打开 MainMenu.xib, 选择 ScaryBugsMac window, 设置window 的宽高为前面记住的宽高。然后勾选MinimumSize 。

技术分享

运行后效果如下:

技术分享

EDStarRating控件并没有在界面上显示,这是因为我们还没有配置它。

打开 MasterViewController.xib,打开Assistant Editor (工具栏中“Editor” 面板的第二个按钮), 并确保当前编辑的内容是MasterViewController.swift

选中table View,按下右键,拖一条线到MasterViewController.swift文件中:

技术分享

这将弹出一个窗口,允许你创建一个IBOutlet。在Name中输入bugsTableView, Storage 设置为 Weak, 然后点击Connect。

技术分享

重复上述步骤,为text field和image view创建两个IBOutlet:

bugTitleViewbugImageView

对于custom view, 则创建一个IBOutlet: bugRating.

最终, MasterViewController.swift文件中将新增如下内容:

@IBOutlet weak var bugsTableView: NSTableView!

@IBOutlet weak var bugTitleView: NSTextField!

@IBOutlet weak var bugImageView: NSImageView!

@IBOutlet weak var bugRating: EDStarRating!


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。