核心数据基础:GUI布局与Cocoa绑定设置
立即解锁
发布时间: 2025-08-25 02:21:23 阅读量: 2 订阅数: 8 


Mac上学习Cocoa:从零开始的全面指南
### 核心数据基础:GUI 布局与 Cocoa 绑定设置
#### 1. 自动 GUI 功能的变化
在早期版本中,有自动根据核心数据模型布局具有基本 CRUD 功能 GUI 的特性,但该功能在后续版本中被移除,现在需要手动进行布局。不过,手动布局并不复杂,且之前的操作经验会让这个过程感觉熟悉,同时,自动生成的 UI 通常还需要大量清理工作。
#### 2. 创建 MythBase 显示界面
以下是创建 MythBase 显示界面的详细步骤:
1. 在开发工具中,单击 `MainMenu.xib` 文件。
2. 在左侧的对象坞中,打开名为 “Window - MythBase” 的主窗口。
3. 为了创建和编辑数据库管理的神话人物属性,需要拖动一个表格视图和一些字段。首先将窗口高度调整为 500 像素。
4. 在对象库的搜索字段中输入 “search”,将搜索字段拖动到主窗口的右上角,利用蓝色引导线定位。
5. 在对象库搜索字段中输入 “table”,将表格视图拖动到窗口左侧边缘,拉伸以填充窗口宽度,直到与右侧的垂直蓝色引导线连接,并将其定位在搜索字段下方。
6. 打开属性检查器,将表格视图的内容模式设置为基于视图,列大小设置为 “First Column Only”,并将表格视图设置为有五列。若添加列后出现水平滚动条,可点击第二列并将其宽度缩小,直到所有五列都可见。
#### 3. 设计 GUI
此应用的用户界面与之前的应用类似,允许用户搜索神话人物数据库、添加和删除人物以及更改其特征,并且将使用 Cocoa 绑定进行连接。具体操作如下:
1. **设置表格视图列标题**:在表格视图中,点击第一列的标题,将其转换为可编辑文本字段,输入 “Name” 作为列标题。依次为后续列设置标题为 “Divinity”、“Power”、“Goodness” 和 “Depiction”。
2. **设置搜索结果指示器**:在对象库搜索字段中输入 “Label”,将标签字段拖动到窗口左侧、表格视图下方,设置标签标题为 “# out of #” 并调整大小以显示完整文本。
3. **添加操作按钮**:在对象库搜索字段中输入 “Button”,选择 Gradient 按钮。拖动一个按钮到表格视图下方,标题设置为 “Fetch”。再拖动两个按钮到 “Fetch” 按钮右侧,分别标题为 “Delete” 和 “Add”,并将它们定位在表格视图下方并与窗口右边缘对齐。
#### 4. 显示详细信息
为了显示所选神话人物的详细信息,需要布局相应的控件,步骤如下:
1. **添加标签和文本字段**:在按钮下方、靠近窗口中心线处拖动一个标签,双击设置标题为 “Name:”。在对象库中找到并拖动一个文本字段到 “Name:” 标签旁边,拉伸到窗口宽度的三分之一左右(约 200 像素),将其定位在按钮下方并与屏幕右边缘对齐,同时将 “Name:” 标签拖动到文本字段左侧。
2. **复制和调整标签**:复制 “Name:” 标签三次,将它们排列在第一个标签下方,并将它们的标题分别设置为 “Divinity:”、“Power:” 和 “Goodness:”,确保它们的右边缘对齐。
3. **添加滑块**:在对象库中搜索滑块,拖动一个水平滑块到 “Divinity:” 标签旁边、“Name” 文本字段下方,拉伸到与文本字段宽度相同。在属性检查器中,将滑块的最小值设置为 0,最大值设置为 100,默认值设置为 50,并勾选连续复选框。复制该滑块两次,分别与 “Power:” 和 “Goodness:” 标签对齐。
4. **添加图像井和文本视图**:在对象库搜索字段中输入 “image”,将图像井拖动到屏幕左下角,调整大小为 150 像素高、200 像素宽,并在属性检查器中将其设置为可编辑。在对象库搜索字段中输入 “text”,将文本视图拖动到右下角,调整大小为 150 像素高、250 像素宽。为了使文本视图能够绑定到普通字符串,需要在属性检查器中关闭富文本处理。
5. **添加标签**:在对象库搜索字段中输入 “label”,分别在图像井和文本视图上方拖动标签,标题分别设置为 “Depiction” 和 “Details”,并将 “Details” 标签的右边缘与滑块的标签对齐。
6. **配置表格视图列**:由于表格视图的 “Depiction” 列需要显示图像,需要将该列中的文本字段替换为图像井。在对象坞中选择该列单元格中的 “Static Text” 对象并删除,然后从对象库中拖动一个图像井到该单元格,将单元格高度扩展到 48 像素以显示完整图像。
以下是 GUI 布局的流程图:
```mermaid
grap
```
0
0
复制全文
相关推荐










