macOS应用开发基础教程
①全新正版,现货速发,7天无理由退换货②天津、成都、无锡、广东等多仓就近发货,订单最迟48小时内发出③无法指定快递④可开电子发票,不清楚的请咨询客服。
¥
77.4
7.2折
¥
108
全新
库存2件
作者赵君卫//张帆
出版社人民邮电
ISBN9787115486400
出版时间2018-09
装帧其他
开本其他
定价108元
货号30263899
上书时间2024-10-13
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
赵君卫(微博@剑指人心),中国早期的iOSkai发者,负责开发了zhu名的LBS交友App“飘信”,曾担任苏宁易购移动技术团队负责人、途牛金融移动技术总监;2014年开始接触macOS应用开发,独立开发了macOS平台上UI设计工具AppX;创建了macOS应用开发网站macdev,汇聚与macOS相关的开发资源,崇尚自动化开发的理念,打造先进的生产力工具。
张帆(微博@AB人生-东门吹牛西门吹雪),留美博士,专注于计算机和互联网技术在诸如信息安全、通信电子、医疗健康等特定行业的应用,擅长iOS和.NET开发;曾在美国微软总部和飞利浦医疗北美总部任职;入选浙江省“千人计划”;曾任新加坡国立大学访问学者,现任浙江大学信息与电子工程学院和浙江大学网络空间安全研究中心副教授,同时也是新加坡科技设计大学访问教授。
目录
第 1章 准备工作1
1.1 Mac电脑 1
1.2 Xcode使用介绍 1
1.2.1 Xcode工作区 2
1.2.2 xib界面设计相关的工作区和菜单 3
1.3 工程结构 5
1.3.1 使用xib方式创建的工程 5
1.3.2 使用storyboard方式创建的工程 11
第 2章 窗口对象 13
2.1 窗口界面的组成 14
2.2 模态窗口 16
2.2.1 模态窗口 16
2.2.2 模态会话窗口 16
2.3 编程控制窗口 17
2.3.1 创建窗口对象 17
2.3.2 窗口通知 18
2.3.3 NSWindow的contentView 18
2.3.4 设置窗口的image和title 19
2.3.5 设置窗口的背景颜色 19
2.3.6 关闭窗口时终止应用 19
2.3.7 在窗口标题区域增加视图 20
2.3.8 NSWindow如何正确地保证居中显示 21
2.3.9 窗口显示位置控制 21
2.3.10 应用关闭后点击Dock菜单再次 打开应用 21
2.4 窗口的创建和管理 21
第3章 视图和滚动条 23
3.1 基本视图 23
3.1.1 坐标系统 23
3.1.2 frame和bounds 24
3.1.3 坐标转换 25
3.1.4 视图管理 25
3.1.5 视图查找 25
3.1.6 视图的autoSize控制 25
3.1.7 视图的layer属性 27
3.1.8 视图绘制 27
3.1.9 事件响应 28
3.1.10 视图的frame bounds变化通知 28
3.2 增效视图 29
3.3 滚动条视图 31
3.3.1 滚动条视图工作原理 31
3.3.2 用代码创建滚动条视图 32
3.3.3 滚动到zhi定的位置 32
3.3.4 用代码实现文本视图滚动的示例 33
3.3.5 滚动条的显示控制 34
第4章 基本控件 35
4.1 控件的分类 35
4.2 控件家族类图谱 35
4.2.1 NSResponder 37
4.2.2 NSView 38
4.2.3 NSControl 38
4.2.4 NSCell 38
4.2.5 小结 39
4.3 文本框 39
4.3.1 UI属性说明 40
4.3.2 事件响应 40
4.3.3 文本内容的读取或修改 41
4.3.4 特殊按键响应处理 41
4.4 文本视图 42
4.4.1 UI属性说明 42
4.4.2 事件响应 43
4.4.3 文本的格式化显示 43
4.4.4 文本框高度根据文字高度自适应增长 44
4.5 文本搜索框 44
4.6 文本标签 46
4.6.1 UI属性说明 46
4.6.2 用代码创建文本标签 46
4.7 按钮 48
4.7.1 UI属性说明 48
4.7.2 事件响应 48
4.7.3 连接事件 49
4.7.4 用代码创建按钮 49
4.7.5 图片按钮的创建 49
4.8 复选框 50
4.8.1 UI属性说明 51
4.8.2 事件响应 51
4.9 单选按钮 51
4.9.1 UI属性说明 51
4.9.2 事件响应 52
4.10 分段选择控件 52
4.10.1 UI属性说明 53
4.10.2 事件响应 53
4.10.3 分段大小的控制 53
4.10.4 分段样式风格的控制 53
4.11 组合框 54
4.11.1 UI属性说明 54
4.11.2 事件响应 55
4.11.3 动态增加列表内容 55
4.11.4 使用数据源和代理 55
4.12 弹出式按钮 56
4.12.1 UI属性说明 56
4.12.2 动态列表项配置 56
4.12.3 事件响应 57
4.13 滑杆 57
4.13.1 属性设置 57
4.13.2 水平和垂直方向设置 57
4.13.3 事件绑定 58
4.14 日期选择器 58
4.14.1 UI属性说明 58
4.14.2 获取日期 59
4.14.3 日期变化的事件 59
4.15 步进器 59
4.15.1 UI属性说明 60
4.15.2 事件响应 60
4.15.3 文本框数据与步进器保持同步 60
4.16 进度指示器 60
4.16.1 UI属性说明 61
4.16.2 启动指示器动画 61
4.16.3 更新指示器进度 61
4.16.4 停止指示器动画 61
4.16.5 用代码创建进度指示器 62
4.17 图像视图 62
4.17.1 UI属性说明 62
4.17.2 圆角处理 62
4.18 分组框 63
4.18.1 UI属性说明 63
4.18.2 用代码创建分组框 63
4.19 分栏视图 64
4.19.1 重要属性和方法说明 64
4.19.2 用代码创建分栏视图 65
4.19.3 自定义分栏视图样式风格 65
4.19.4 分栏视图中的子视图控制 66
4.19.5 分栏视图子视图的隐藏和显示 68
4.20 集合视图 68
4.20.1 集合视图的content 69
4.20.2 NSCollectionViewItem 69
4.20.3 绑定模型到视图 70
4.20.4 使用数据源方式管理集合视图 71
4.20.5 实现集合视图的高亮选择 73
4.20.6 集合视图的背景设置 75
4.20.7 集合视图的布局管理器 75
4.20.8 设置集合视图的顶部头和底部尾 77
4.20.9 用代码创建集合视图 79
4.21 选项卡视图 79
4.21.1 UI属性说明 80
4.21.2 代理协议NSTabViewDelegate 80
4.21.3 动态增加选项卡 80
4.21.4 用无边风格的选项卡进行切换控制 81
4.22 弹出式气泡 82
4.22.1 重要属性 82
4.22.2 使用示例 83
第5章 面板和警告框 84
5.1 面板 84
5.1.1 UI属性说明 85
5.1.2 显示面板 85
5.1.3 隐藏面板 86
5.1.4 文件打开面板 86
5.1.5 文件保存面板 88
5.1.6 颜色选择面板 88
5.1.7 字体选择面板 89
5.2 警告框 89
5.2.1 UI属性说明 89
5.2.2 添加按钮 90
5.2.3 使用示例 90
5.3 使用独立的xib文件创建面板类 91
第6章 工具栏和菜单 94
6.1 工具栏 94
6.1.1 创建工具栏 94
6.1.2 UI属性说明 95
6.1.3 NSToolbarItem的属性说明 96
6.1.4 事件响应 96
6.1.5 创建非标准的工具栏项 97
6.1.6 验证工具栏项 97
6.1.7 用代码创建工具栏 98
6.1.8 工具栏与窗口控制按钮融合显示 99
6.2 菜单 99
6.2.1 UI属性说明 100
6.2.2 增加菜单 101
6.2.3 弹出式菜单 101
6.2.4 设置上下文菜单 102
6.2.5 Dock菜单 102
6.2.6 用代码创建菜单 103
6.2.7 获取应用默认的菜单 104
6.2.8 菜单有效性验证 104
6.3 状态条 105
6.3.1 NSStatusBar类的对象关系 105
6.3.2 NSStatusBar的使用方式 105
6.3.3 状态条增加弹出视图 107
第7章 表视图 109
7.1 表视图 109
7.1.1 使用xib创建表格 109
7.1.2 表格样式设置 112
7.1.3 表格数据显示配置 112
7.1.4 表格事件 119
7.1.5 创建表格上下文菜单 120
7.1.6 数据排序 120
7.1.7 数据拖放 121
7.1.8 表格数据获取 121
7.1.9 编辑表格内容 121
7.1.10 动态增加 删除表格行 122
7.1.11 用代码创建表格 123
7.1.12 代码控制选中行 125
7.1.13 表格行选中颜色定制 126
7.2 大纲视图控件 126
7.2.1 节点模型定义 127
7.2.2 初始化模型数据 128
7.2.3 实现数据源协议 128
7.2.4 实现代理方法,绑定数据到节点视图 129
7.2.5 节点选择的变化事件通知 129
7.2.6 动态增加节点 130
7.2.7 动态删除节点 130
7.2.8 代码控制行的展开和选中 131
7.2.9 修改节点展开关闭的默认图标 132
7.2.10 鼠标右键上下文菜单 133
第8章 自动布局 134
8.1 自动布局的原理 134
8.1.1 传统的布局 134
8.1.2 自动布局 135
8.2 栈视图 137
8.3 Xcode中的自动布局设置 138
8.3.1 Stack 139
8.3.2 Align 140
8.3.3 Pin 140
8.3.4 Resolve 141
8.4 自动布局的多种解决方案 141
8.4.1 一个问题的多种解决方案 142
8.4.2 约束选择的原则和建议 144
8.5 自动布局使用示例 144
8.5.1 两个视图大小相同 144
8.5.2 3个View大小相同 145
8.5.3 文本标签和输入框 145
8.5.4 文本标签动态字体和输入框 146
8.5.5 多行文本标签和输入框 146
8.5.6 多行文本标签动态字体和输入框 147
8.5.7 两个视图大小相同、水平方向的间距相同 148
8.5.8 简单的Stack View 149
8.5.9 复杂界面未使用栈视图 150
8.5.10 复杂界面使用多个嵌套栈视图 151
8.6 滚动条视图使用自动布局 151
8.7 通过代码设置自动布局约束 153
8.7.1 使用NSLayoutConstraint类 153
8.7.2 使用NSLayoutAnchor 155
8.7.3 使用VFL定义约束关系 155
8.7.4 使用第三方库AutoLayoutX 155
第9章 窗口控制器 157
9.1 xib中窗口的加载创建过程 157
9.2 手工创建窗口需要注意的问题 160
9.3 窗口控制器和窗口的关系 161
9.4 将AppDelegate中窗口的管理功能分离 161
9.5 窗口切换后对象失去焦点问题 163
第 10章 视图控制器 164
10.1 视图控制器 164
10.1.1 视图生命周期过程 165
10.1.2 创建视图控制器的3种方式 166
10.1.3 representedObject属性 167
10.1.4 子视图控制器管理 168
10.1.5 两个视图控制器之间的切换方法 169
10.1.6 Storyboard中的视图控制 172
10.1.7 视图中手势识别 174
10.2 选项卡控制器 175
10.2.1 使用NSTabView创建选项卡视图 175
10.2.2 使用NSTabViewController管理选项卡视图 176
10.2.3 使用Storyboard方式创建 176
10.2.4 选项卡选中事件 177
10.3 分栏视图控制器 178
10.3.1 控制器的几个重要的属性和方法 178
10.3.2 NSSplitViewItem 179
10.3.3 NSSplitView 179
10.3.4 使用Storyboard创建分栏视图控制器 179
10.3.5 用代码创建分栏视图控制器 180
10.3.6 可折叠的视图控制 181
10.4 视图控制器与窗口控制器的关系 183
10.4.1 视图与窗口 183
10.4.2 视图控制器与窗口控制器 183
10.4.3 不依赖xib和storyboard,纯代码实现应用 184
10.5 使用窗口控制器和视图控制器实现简单登录流程 186
10.5.1 登录流程的基本工程实现 186
10.5.2 代码控制启动的控制器 190
10.5.3 登录页面使用效果美化 190
10.5.4 登录页面纯代码实现 192
10.5.5 整个工程纯代码实现 195
10.6 滚动条视图gao级用法 195
10.6.1 滚动条视图显示多个按钮 195
10.6.2 滚动条视图处理分页滑动 199
第 11章 鼠标和键盘事件 206
11.1 事件的分发过程 206
11.2 事件中的两个核心类 207
11.2.1 NSResponder 207
11.2.2 NSEvent 207
11.3 鼠标事件 208
11.3.1 鼠标点击 208
11.3.2 鼠标拖放 209
11.3.3 鼠标区域跟踪 210
11.3.4 模拟鼠标点击选中 212
11.4 键盘事件 213
11.4.1 快捷键 213
11.4.2 控制键 214
11.5 按键绑定事件 215
11.5.1 系统绑定的按键事件 215
11.5.2 文字输入 216
11.6 事件监控 218
11.7 动作消息 218
11.8 在视图控制器中处理事件 219
第 12章 撤销 重做操作 220
12.1 撤销 重做流程分析 220
12.2 实现原理 222
12.3 撤销 重做动作的管理 223
12.3.1 NSUndoManager的创建 223
12.3.2 注册撤销动作 223
12.3.3 清除撤销动作 224
12.3.4 禁止注册撤销动作 224
12.3.5 撤销动作命名 224
12.3.6 撤销组 224
12.4 撤销栈的深度 224
12.5 撤销 重做通知消息 225
12.6 撤销 重做编程示例 225
第 13章 拖放操作 227
13.1 拖放开始 227
13.1.1 拖放数据定义 227
13.1.2 拖放的可视化图像设置 229
13.1.3 拖放源事件 229
13.1.4 拖放源协议NSDraggingSource 230
13.2 拖放接收 231
13.2.1 注册接收的拖放类型 231
13.2.2 拖放目标方协议 231
13.2.3 拖放接收方处理过程 231
13.3 拖放端到端编程 232
13.3.1 拖放源类DragSourceView 232
13.3.2 拖放目标类 233
13.3.3 视图控制器中拖放源初始化 235
13.4 常见的拖放示例 236
13.4.1 文件拖放处理 236
13.4.2 表格视图的拖放处理 237
13.4.3 大纲视图的数据拖放处理 239
第 14章 Cocoa数据绑定 243
14.1 KVC 243
14.1.1 KVC属性读写接口 244
14.1.2 KVC路径访问相关接口 244
14.1.3 批量属性访问接口 244
14.2 KVO 245
14.2.1 KVO相关接口 245
14.2.2 手工管理KVO 246
14.2.3 KVO的简单例子 247
14.3 KVB 248
14.3.1 传统的数据更新流程 249
14.3.2 使用绑定技术简化更新流程 249
14.3.3 实现绑定依赖的关键点 252
14.3.4 KVB绑定的处理流程 253
14.3.5 使用NSArrayController管理数据 254
14.3.6 使用NSTreeController管理数据 256
第 15章 蓝牙框架 261
15.1 蓝牙数据交换流程 261
15.2 蓝牙框架中的相关类 262
15.2.1 外围设备相关 263
15.2.2 数据中心相关 263
15.2.3 服务相关 263
15.2.4 特征值相关 263
15.3 外围设备的工作流程 263
15.3.1 系统初始化上电 263
15.3.2 创建服务 264
15.3.3 创建特征值 264
15.3.4 服务与特征值关联 264
15.3.5 发布服务 264
15.3.6 广播服务 265
15.3.7 数据读写请求 265
15.3.8 订阅请求处理 266
15.4 数据中心工作流程 266
15.4.1 系统初始化上电 266
15.4.2 搜索外围设备 267
15.4.3 建立连接 267
15.4.4 查询服务 267
15.4.5 查询服务特征值
— 没有更多了 —
以下为对购买帮助不大的评价