Mac编程之用户界面

来源:互联网 发布:mac qq和pc qq同时登录 编辑:程序博客网 时间:2024/04/27 22:02

Xcode提供两种方式来保存用户界面:

  • .xib文件
  • .storyboard文件

一个.xib文件通常包含一个单独的窗口(window)或者用户界面上的一个视图(view)。

.storyboard文件包含一个或多个视图或者segues,这里的视图代表一个窗口,segue定义了视图间的转场。

用户界面有三个功能:

  • 向用户展示信息
  • 接收来自用户的数据
  • 允许用户控制程序

Xcode中的对象库(Object Library)包含了大量的组成用户界面的控件(项item),你可以点击,然后便出现弹出式窗口显示该项的信息,如图:

一.用户界面子项(User Interface Items)

用户界面子项通常可以分成下面的类别:

  • 展示或者接收文本
  • 让用户从有限的选项中做出选择
  • 让用户选择命令(点击按钮或菜单项等)来控制程序
  • 对其它用户界面子项进行组织

1.展示或者接收文本

基于NSTextField类的用户界面子类可以用来展示或者接收文本:

  • Label
  • Text Field
  • Secure Text Field
  • Text Field with Number Formatter
  • Wrapping Label
  • Wrapping Text Field

2.提供选项

展示选项的用户界面子项有:

  • Pop Up Button(NSPopUpButton)
  • Radio Group(NSMatrix)
  • Check Box(NSButton)
  • Combo Box(NSComboBox)
  • Date Picker(NSDatePicker)
  • Horizontal/Vertical/Circlar Slider(NSSlider)
  • Stepper(NSStepper)

3.接收命令

  • NSButton
  • NSMenuItem

4.组织其它子项

  • Table View(NSTableView)
  • Collection View(NSCollectionView)
  • Box(NSBox)
  • Tab View(NSTabView)
  • Window(NSWindow)
  • Toolbar(NSToolbar)

二.在Auto Layout中使用约束(Constraints)

在用户界面上放置子项的时候,我们需要考虑一下用户调整窗口尺寸时候所发生的情形:窗口太大会留下太大空白,窗口太小可能会切掉部分子项。

当用户调整窗口尺寸时候,为了确保用户界面依然保持原有状态,可以这样做:第一,你可以定义窗口的最小和最大尺寸;第二,你可以对子项设置约束(Constraints),来定义与相邻子项和窗口四边之间的距离。

1.定义窗口的尺寸

窗口在屏幕上展示程序的用户界面,Xcode允许你定义以下的尺寸:

2.对用户界面子项设置约束

约束定义了两个子项之间的距离,比如,一个按钮和窗口边缘的距离,或者两个按钮的距离,Xcode提供了几种方式来对用户界面子项设置约束:

  • 选中用户界面子项,按住Ctrl键,然后拖到另一个子项或者窗口的边上;
  • 点击右下角的Pin,如图:

两种基本的约束如下:

  • 关系约束(Relationship Constraints):定义相邻子项之间距离;
  • 尺寸约束(Size Constraints):定义宽度,高度,或者宽高比例。
0 0