美文网首页
NSTableView

NSTableView

作者: 大漠赏花 | 来源:发表于2018-01-08 18:31 被阅读0次

    1、代码实现NSTableView

    _tableView = [[NSTableView alloc] initWithFrame:NSMakeRect(0, 0, 162, 643)];

        _tableView.delegate = self;

        _tableView.dataSource = self;

        NSTableColumn *column = [[NSTableColumn alloc] initWithIdentifier:@"field1"];

        column.width=162;

        [_tableViewaddTableColumn:column];

        NSScrollView *scrollView = [[NSScrollView alloc] initWithFrame:NSMakeRect(0, 0, 162, 643)];

        scrollView.backgroundColor = [NSColor purpleColor];

        [scrollViewsetDocumentView:_tableView];

        [selfaddSubview:scrollView];

        scrollView.backgroundColor = [NSColor greenColor];

        [_tableView reloadData];

    2、必要的两个 datasource

    /** 返回显示行数 */

    - (NSInteger)numberOfRowsInTableView:(NSTableView*)tableView;

    /** 纯文本调用该方法直接返回字符串 */

    - (id)tableView:(NSTableView*)tableView objectValueForTableColumn:(nullableNSTableColumn*)tableColumn row:(NSInteger)row;

    或者

    /** 自定义界面 */

    - (NSView*)tableView:(NSTableView*)tableView viewForTableColumn:(NSTableColumn*)tableColumn row:(NSInteger)row;

    例:

    - (NSView*)tableView:(NSTableView*)tableView viewForTableColumn:(NSTableColumn*)tableColumn row:(NSInteger)row

    {

        NSTableCellView *cell = [tableView makeViewWithIdentifier:@"NSTableCellView的标识" owner:nil];

        cell.imageView.image = [NSImage imageNamed:dic[@"icon"]];

        cell.textField.stringValue = dic[@"title"];

        return cell;

    }

    /** 设置cell选中高亮颜色 */

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

    {

        NSTableRowView *myRowView = [self.tableView rowViewAtRow:row makeIfNecessary:NO];

        [myRowViewsetSelectionHighlightStyle:NSTableViewSelectionHighlightStyleRegular];

        [myRowViewsetEmphasized:NO];

        return YES;

    }

    注:选中状态切换到其他app再切换回来,选中的cell颜色会变回默认颜色,继续摸索中。

    相关文章

      网友评论

          本文标题:NSTableView

          本文链接:https://www.haomeiwen.com/subject/rrabnxtx.html