如何在NSTableView中使用自定义的cell

如题所述

一个NSTableView有如下几个部分组成:数据模型(也就是要显示的数据)和 NSTableColomn类组成的集合。一个NSTableColomn代表了表格中的一列,包括这一列的表格头。因此,一个NSTableColomn对象包括2个Cell,一个用来现实这一列的表格头,一个用来现实这一列的所有数据。
如果你的所有的数据都可以简单的在一个单独的cell中完成,那之要简单的继承NSCell就好。(这里我也不是太明白)。
一旦创建了NSCell的子类,就可以创建一个实例,然后将这个实例赋值给NSTableView,通过这个函数:
-[NSTableViewColumn setDataCell:(yourCustomCellObject)];

以下两点非常重要:
1. 对于每一列,有且只有一个NSCell的实例。这个实例不停的被重用,以便将所有的数据显示出来,这样可以避免对每一个表格的数据申请一个内存空间。
2. 对于custom的NSCell,在整个运行过程中会大量的被copie。所以要保证custom的NSCell实现了NSCopy.
温馨提示:内容为网友见解,仅供参考
无其他回答

如何在NSTableView中使用自定义的cell
一个NSTableView有如下几个部分组成:数据模型(也就是要显示的数据)和 NSTableColomn类组成的集合。一个NSTableColomn代表了表格中的一列,包括这一列的表格头。因此,一个NSTableColomn对象包括2个Cell,一个用来现实这一列的表格头,一个用来现实这一列的所有数据。如果你的所有的数据都可以简单的...

如何iPad 编程中使用自定义 TableViewCell
打开 TableViewController.h 然后添加这些属性:import interface TableViewController : UITableViewController property (nonatomic, strong) NSArray *cellContent;property (nonatomic, strong) IBOutlet UITableViewCell *customCell;end 这个演示中,我们定义一个数组来记录所有cell的内容,还需要如下图那样,...

如何自定义会话列表的 cell
1、可以对所有会话类型自定义 cell 2、继承会话列表界面 RCConversationListViewController;3、重写方法 -(NSMutableArray *)willReloadTableData:(NSMutableArray *)dataSource 注:在该方法内筛选数据源dataSource中具体的会话类型及消息的model,将model 类型必须修改为 model.conversationModelType=RC_CONV...

如何自定义会话列表的 cell
0. 可以对所有会话类型自定义cell 1.继承会话列表界面RCConversationListViewController;2.重写-(NSMutableArray *)willReloadTableData:(NSMutableArray *)dataSource方法,modell类型必须设置为model.conversationModelType=RC_CONVERSATION_MODEL_TYPE_CUSTOMIZATION;3.重写 \/\/高度 -(CGFloat)rcConversationL...

如何自定义会话列表的cell
1. 在xCode中选择新建-User Interface - Empty XIB。(指定一个有意义的名字最好,本例BaseTableCell)2. 打开新建的这个空XIB文件,将UITableViewCell控件拖放到xib窗口中。3. 添加样式和其他控件到这个cell控件中。(UITextField & UITextView不适用于表格视图单元)4. 打开属性检查器,设置重用标识...

如何自定义会话列表的 cell
0. 可以对所有会话类型自定义cell1.继承会话列表界面RCConversationListViewController;2.重写-(NSMutableArray *)willReloadTableData:(NSMutableArray *)dataSource方法,modell类型必须设置为model.conversationModelType=RC_CONVERSATION_MODEL_TYPE_CUSTOMIZATION;3.重写\/\/高度-(CGFloat)rcConversationList...

如何使用xib自定义UITableViewCell
(1)新建一个空的(Empty)xib文件,File->New,在面板中选择User Interface->Empty,如下图所示:将文件命名为CustomTableViewCell,表示自定义的cell意思。(2)拖动一个TableViewCell到空的(Empty)xib文件中,如下图,(3)修改CustomTableViewCell的高度为90,通过属性面板来设置,如下图,(4)拖...

如何实现点击TableView中的一个cell,然后动态改变cell的文字
思路其实很简单。一个UITableView就能简单做到了。就像你说的使用-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath这个方法也可以。不过我一般不是那么做。如果我们按照QQ那样来做。首先你得有这么一个头控件。比如这个头控件可以被点击,有个UILable,能给他...

如何定义一个空的cell
那么如何在代码中使用这个UISpecialTableViewCell呢?代码如下:[cpp] view plaincopy - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"UISpecialTableViewCell";UISpecialTableViewCell *cell = (UI...

如何实现点击TableView中的一个cell,然后动态改变cell的文字
可以清除cell内容,如下:-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *cellIdentifier=@"order_cell";_cell = (OrderCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];if(_cell==nil){ _cell=[[...

相似回答