编程开发 购物 网址 游戏 小说 歌词 地图 快照 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 开发 租车 短信 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
移动开发 架构设计 编程语言 互联网 开发经验 Web前端 开发总结
开发杂谈 系统运维 研发管理 数据库 云 计 算 Java开发
VC(MFC) Delphi VB C++(C语言) C++ Builder 其它开发语言 云计算 Java开发 .Net开发 IOS开发 Android开发 PHP语言 JavaScript
ASP语言 HTML(CSS) HTML5 Apache MSSQL数据库 Oracle数据库 PowerBuilder Informatica 其它数据库 硬件及嵌入式开发 Linux开发资料
  编程开发知识库 -> IOS开发 -> NSTableView中添加CheckBox -> 正文阅读
 

[IOS开发]NSTableView中添加CheckBox[第1页]

本帖最后由 chensunwang 于 2017-10-16 16:21:09 编辑
NSTableView
如题  见下图效果  我在表中添加CheckBox之后  我选择CheckBox之后我要怎么知道选择的时哪一行  
表格这样实现的


- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
    NSTableCellView *cell = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
    NSButton *cell1 = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
    CompSameTimeDifSensorModel *comp = dataArray[row];
    if ([tableColumn.identifier isEqualToString:@"Selected"]) {
        [cell1 setTag:row];
        [cell1 setTarget:self];
        [cell1 setAction:@selector(cellClick:)];
        
        [cell1 setState:0];
        return cell1;
    }
    else if ([tableColumn.identifier isEqualToString:@"SensorID"]) {
        cell.textField.stringValue = comp.SensorID;
    }
    else if ([tableColumn.identifier isEqualToString:@"MinRecordTime"]) {
        NSString *timeStr = [NSString stringWithFormat:@"%f",comp.MinRecordTime];
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        [formatter setTimeStyle:NSDateFormatterShortStyle];
        [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
        NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:(NSTimeInterval)[timeStr integerValue]/1000.0];
        cell.textField.stringValue = [formatter stringFromDate:confromTimesp];
    }
    else if ([tableColumn.identifier isEqualToString:@"MaxRecordTime"]) {
        NSString *timeStr = [NSString stringWithFormat:@"%f",comp.MaxRecordTime];
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        [formatter setTimeStyle:NSDateFormatterShortStyle];
        [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
        NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:(NSTimeInterval)[timeStr integerValue]/1000.0];
        cell.textField.stringValue = [formatter stringFromDate:confromTimesp];
    }
    return cell;
}

我给每个CheckBox添加了个方法,并赋值tag为行号,但是方法里面得不到CheckBox的tag且都为0,这是怎么回事


- (void)cellClick:(NSButton *)sender
{
    if(sender != nil){
        NSButton* cell = (NSButton *)[self.tableView selectedCell];
        if([cell state] == 1)
            [cell setState:0];
        else {
            [cell setState:1];
        }
        NSLog(@"cellClick = %ld",[[self.tableView selectedCell] tag]);
    }
}



- (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(NSInteger)row

这个代理方法是选择当前行才会调用  如果选择当前行里面的CheckBox则不会调用
那该怎么实现呢,效果图及tableview结构如下



回复:
  IOS开发 最新文章
求大神们的指点!
DrawRect方法怎么在ViewController里调用?
请教下socket和http在客户端网络请求中的区
iOS app怎么限制使用地区?
Xcode升级到9.0后遇到的问题,1 duplicate
求iOS11.0.2 真机测试包~
iOS DLNA开发,有做过同样功能的朋友求解救
base64解密求助
北京PK10稳赚技巧群473727795之选号技巧
oc和c++混编
上一篇文章      下一篇文章      查看所有文章
加:2017-10-30 04:17:28  更:2017-10-30 04:20:34 
VC(MFC) Delphi VB C++(C语言) C++ Builder 其它开发语言 云计算 Java开发 .Net开发 IOS开发 Android开发 PHP语言 JavaScript
ASP语言 HTML(CSS) HTML5 Apache MSSQL数据库 Oracle数据库 PowerBuilder Informatica 其它数据库 硬件及嵌入式开发 Linux开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年1日历
2018-1-24 5:52:05
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  编程开发知识库