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
- Mac编程之用户界面
- 《Windows核心编程》---图形用户界面之窗口
- java 图形用户界面编程 之 事件处理
- 图形用户界面之窗口事件编程
- python学习之路——图形用户界面编程
- mac Python 图形用户界面学习
- 图形用户界面编程资源
- Java用户界面编程指南
- Eclipse 图形用户界面编程
- GUI用户界面编程
- Android 用户界面编程技巧
- Java图形用户界面编程
- Java图形用户界面编程
- c++用户界面编程
- GUI图形用户界面编程
- 图形用户界面编程
- 经典用户界面之“纲领”
- 软件工程之用户界面设计
- 【Maven实战】eclipse maven插件安装和配置(一)
- 告诉你CSS中 display:inline-block到底是个什么鬼
- Android中采用HttpClient的工具类
- 详解DNS(实战篇)
- JQuery 实现简单的复选框树形结构图
- Mac编程之用户界面
- 组合/聚合复用原则(CARP)
- 数据库——知识总结
- C语言的队列的初始化和先进先出的简洁程序
- SysManagerServiceImpl
- hdoj4325Flowers【线段树+离散化】
- lightOJ 1082 - Array Queries 【线段树(求最小值)】
- GreenPlum操作
- hdoj 1420 Prepared for New Acmer 【快速幂】