mac 自定义NSTableCellView
2016-04-14 17:24
441 查看
1新建空项目,参考:/article/7886969.html
2 选中MainWindowController.xib,在window上添加NSTableView控件,选中NSTableView,设置Content Mode为View Based.
3创建一个empty的xib文件命名为CustomCellView.xib
4往CustomCellView中拖入tablecellview,可以去掉不需要的控件,添加上自己需要的控件,将cell的identifier改为customCell
5创建一个CustomCell类,继承NSTableCellView,将xib内cell的Class改为CustomCell,然后就可以连线了.
这样cell的工作就完成了
6将TableView自身与TableView的datasource和delegate都连接到appdelegate里面.注意一共需要连三条线
7 MainWindowController.m代码如下:
参考:http://sxiaojian.com/2015/08/11/Mac-NSTableView/
2 选中MainWindowController.xib,在window上添加NSTableView控件,选中NSTableView,设置Content Mode为View Based.
3创建一个empty的xib文件命名为CustomCellView.xib
4往CustomCellView中拖入tablecellview,可以去掉不需要的控件,添加上自己需要的控件,将cell的identifier改为customCell
5创建一个CustomCell类,继承NSTableCellView,将xib内cell的Class改为CustomCell,然后就可以连线了.
这样cell的工作就完成了
6将TableView自身与TableView的datasource和delegate都连接到appdelegate里面.注意一共需要连三条线
7 MainWindowController.m代码如下:
#import "MainWindowController.h" #import "CustomCell.h" @interface MainWindowController () @end @implementation MainWindowController - (void)windowDidLoad { [super windowDidLoad]; // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file. self.contents = [NSMutableArray arrayWithObjects:@"a",@"b", nil]; } -(NSString *)windowNibName{ return @"MainWindowController"; } -(void)awakeFromNib{ [self.tableView registerNib:[[NSNib alloc] initWithNibNamed:@"CustomCellView" bundle:nil] forIdentifier:@"customCell"]; } #pragma mark table datasource -(NSInteger)numberOfRowsInTableView:(NSTableView *)tableView{ return self.contents.count; } -(id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{ return [self.contents objectAtIndex:row]; } #pragma mark table delegate -(NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{ /* if(!_nib){ _nib = [[NSNib alloc] initWithNibNamed:@"CustomCellView" bundle:nil]; [tableView registerNib:_nib forIdentifier:@"customCell"]; }*/ CustomCell *cellView = [tableView makeViewWithIdentifier:@"customCell" owner:self]; cellView.title.stringValue = @"aaa"; cellView.subTitle.stringValue = @"bbb"; return cellView; } @end
参考:http://sxiaojian.com/2015/08/11/Mac-NSTableView/
相关文章推荐
- 2位数乘与1位数
- 在Win7系统中搭建Web服务器
- .NET小细节
- SqlServer2012 数据库的同步之发布+订阅
- Approvals for EBS 1.4 Now Available
- HDU 3047 Zjnu Stadium(带权并查集)
- jQuery获取父元素及父节点的方法小结
- Splash
- 解释一下关系数据库的第一第二第三范式?
- 利用小闹钟1-100求和
- 前端MVC框架
- Android Process 详解
- Apache CXF REST example
- 15个数排序
- 详解 JAVA的回调机制CallBack
- 为什么在sys.setdefaultencoding之前要写reload(sys)
- PHP数组详解
- 15电气郄慧敏vb作业计算一位数乘以一位数
- 循环结构排序
- 树莓派 debian 创建root账户 切换账户 并且远程登录