|
  
- UID
- 5007
- 帖子
- 268
- 精华
- 1
- 积分
- 1807
- 麦客币
- 420 枚
- 贡献度
- 294 度
- iChat
-
- 所用苹果
-
- 阅读权限
- 180
- 在线时间
- 585 小时
- 最后登录
- 2008-11-22
|
12楼
发表于 2008-1-12 05:19 AM
| 只看该作者
【01-12】 [翻译]Project:Omega cocoa教程4 - NSTableView 和 Dock Menu
原网址:http://www.projectomega.org/arti ... tuts_cocoa4&p=1
, q! S% d# l0 a- `1 }, q1 a( f2 j* k
cocoa教程4 - NSTableView 和 Dock Menu% E/ {0 N* m1 D+ A; r" N( T
- i9 J6 z. y5 w0 s7 p) k. u介绍
# {' S# p3 Q% S- `' z' [: ]) c
5 w; j; q: N8 W这个教程的目的是介绍两个新概念 : tables 表格 和 dock menu 底栏菜单.
5 K, _& L7 t6 X
. U" t& I- @9 q, h为什么同时介绍两个不同的控件? 因为我想在这个系列教程结束前讲些足够分量的内容, 并且一个太短的教程不是个好方法来展示一个应用程序是如何工作的.
5 D0 t) m/ i$ [5 `' e% K
# ]4 e/ J9 s8 ^( [) \! y5 n o第一部分将介绍如何在一个应用程序里使用 NSTableView 表格物件. 第二部分在此基础上增加 dock menu.
- l0 f2 d7 ?; J8 ?4 u' X2 }4 g
7 k# v, ~. c# G; y- E. e; CNSTableView* k( q' {; p3 T
0 _1 p' ? K% k& C! V( J- 启动 Xcode. O8 s! H6 A, a: g" U8 @! T* ?& Z
k1 y9 J, h9 n t
- 创建一个新的 project ("Cocoa Application"); E- `4 o: h* X' g+ C6 U) t9 `
1 S+ a. Z* G/ B! {- I; e5 v# G
- 取名 " PODock"
, _, B m% u& Y( z1 f3 q* \2 j
2 ~! w* c- Q2 c! U8 l; q- 双击 Resources 组别里的 "MainMenu.nib" 用 Interface builder 打开它
& Z C2 u: `0 K; D% R) b 0 [5 `; w( n0 N. H' w. E
- 在 Library 面板里拖动一个 NSObject 到 MainMenu.nib 窗口. 在Identity Inspector里将Class命名为" PODock". 由于未知的原因, 在MainMenu.nib 窗口里显示的是Dock.
O# Q( N, y m- }) h4 K$ f& [
5 N& }5 m' o4 ^% {& W% B跟前面的教程一样, 先在Xcode里建立新文件 PODock.h 和 PODock.m.6 @ r" `% y: M& q/ `
再回到 Interface builder 里, 选PODock, 然后 write class file 替换刚刚建立的两个文件.
( j( f$ f4 T7 W0 B/ c+ r( v/ Z& c
- 打开 Interface builder 里面的窗口, 按下图添加控件.
: |8 f& q7 A2 X" C* H9 i% D, z9 f一个只有一列的表格 (NSTableView), 默认是两列, 可以在Attributes Inspector 里面设置, 并在窗口里将第一列拉长为整个表格.6 Y* C/ Y/ x5 y% \ x4 A$ l
一个文本编辑框 (NSTextField), 和一个 "增加"按钮 (NSButton). 在窗口 Window 的Attributes Inspector 里去掉 Close 前面的勾, 这样程序会简单一点.
$ a$ k: d3 U) v* L; ]! R. h! i1 T) }: u Z9 ]# B, k/ X" w
- 回到Xcode, 按下面修改 PODock.h 文件- #import <Cocoa/Cocoa.h>
- @interface PODock : NSObject
- {
- IBOutlet NSTextField * editfield;
- IBOutlet NSTableView * table;
- NSMutableArray * comments;
- }
- - (IBAction) addCommentAction:(id)sender;
- @end
复制代码 这里展示了如何直接在代码文件里添加 outlets 和 action 以及其他变量.
2 O3 o7 N6 H) X) A7 S我们添加了:
/ k6 A4 Z' a" F' A& U4 e F8 W0 M. y 0 S& i; ` v7 P# [. Y |3 `+ _9 \
- 两个 outlets 用来连接界面里的两个控件, 表格和文本框
+ L; U" [2 @( b l8 N/ ]7 f- A
# |1 ^: P4 L4 b1 ?, s- 一个 mutable array 变量数组, 用来存储用户输入的注释
* g) J. O! f& d: N
; A& v( ]1 c' i& O- 一个 action 对应点击 "增加" 按钮所触发的事情
& R0 ?3 ^: c# c3 d3 z# z 2 W3 Q: w+ v$ i2 b: H
- 保存PODock.h, 回到 Interface builder 里, 可以发现 PODock 控制器已经自动更新, 具有了刚才创建的两个 outlets 和一个 action
* ?6 X( a! I: v1 e4 r7 ~+ A. E* _ g/ J
- Ctrl+鼠标拖动从 PODock 到文本框, 选择 editfield.0 p2 F% ^. C$ o4 ^* P3 Z& J
- Ctrl+鼠标拖动从 "增加" 按钮到 PODock , 选择 addCommentAction.& ?/ j' D1 j F
- 双击表格激活 NSTableView, Ctrl+鼠标拖动连接 "datasource" and "delegate" 到 PODock./ X9 @, z$ c5 A% \
- 连接 PODock 的 "table" outlet 到窗口的 NSTableView.
6 a5 V- T6 I( j% L: Y6 P* r1 T. i4 h' E5 W& l
$ N: Z% ?. i& R" o) Y[ 本帖最后由 sweec 于 2008-1-12 05:38 编辑 ] |
附件: 您所在的用户组无法下载或查看附件
-
1
评分次数
-
|