美文网首页
NSTableView在MacOS11.0以上的系统自动增加边距

NSTableView在MacOS11.0以上的系统自动增加边距

作者: devileatapple | 来源:发表于2021-02-20 17:30 被阅读0次

NSTableView在MACOS Big Sur(11.0)之后的显示有点异常,悄咪咪的增加了左右以及上下间距。要解决这个问题:

1.首先设置NSTableView的style;

    if(@available(macOS11.0, *)) {

        _tableView.style=NSTableViewStylePlain;

    }else{

        // Fallback on earlier versions

    }

2.设置之后,上下间距消失,但左右还有6pt的间距

在wiki里看改变,发现需要自定义Cell的背景view,也就是NSTableRowView,把对应的cell添加到这个rowview里。实现下面的方法,

- (NSTableRowView *)tableView:(NSTableView *) tableView  rowViewForRow: (NSInteger) row {

            ProductTableRowView *view= [[ProductTableRowView alloc]initWithFrame:CGRectMake(0, 0, self.tableView.lt_w, kProductCellH)];//自定义NSTableRowView

   ProductCell*cell = [tableViewmakeViewWithIdentifier:@"ProductCellID"owner:self];

    if(!cell) {

        cell = [[ProductCell alloc]initWithFrame:NSMakeRect(0,0,kLeftW,kProductCellH)];

    }

    ProductMO *mo = [_datas objectAtIdx:row];

    [cell bindData:mo];

    [view addSubview:cell];

    return view;

}

取消实现cell的方法

- (NSView*)tableView:(NSTableView*)tableViewviewForTableColumn:(NSTableColumn*)tableColumnrow:(NSInteger)row {
    retrun nil;

}

暂时这么处理能解决边距的问题,仅提供思路,有什么问题可以留言大家一起探讨。

参考链接:

https://developer.apple.com/forums/thread/666341

https://wiki.freepascal.org/macOS_Big_Sur_changes_for_developers#Table_Views

相关文章

  • NSTableView在MacOS11.0以上的系统自动增加边距

    NSTableView在MACOS Big Sur(11.0)之后的显示有点异常,悄咪咪的增加了左右以及上下间距。...

  • layoutMargins和preservesSuperview

    文档解释 layoutMargins 使用这个属性用于指定视图和它的子视图之间的边距(单位使用点),自动布局系统使...

  • iOS开发增大按钮点击区域

    这里分两种1.button自身frame 以倍数扩大2.button自身frame 以上下左右增加边距扩大 普遍做...

  • 今天的二级笔记

    加大文档上边距应该用页面布局——页边距——调整页边距的上边距 制作简历:图片裁剪后不要忘记在自动换行里设置成浮于文...

  • 今天的二级笔记

    加大文档上边距应该用页面布局——页边距——调整页边距的上边距 制作简历:图片裁剪后不要忘记在自动换行里设置成浮于文...

  • 小薇学院任务十(flexbox)

    1.在Flex容器中,当项目边距设置为“auto”时,设置自动的垂直边距将使该项目完全集中两个轴。(前提是这个元素...

  • macOS Dev: NSTableView

    实现一个 NSTableView,NSTableCellVIew 根据内容量和 window 宽度自动适应高度。 ...

  • CSS学习笔记之布局

    增加boxsizing:border-box属性,添加边距不再会使盒子变宽,而是使内容变窄。 在原有元素外增加di...

  • macOS NSTableView

    NSTableView结构 NSTableView简单创建 首先NSTableView中的列是由NSTableCo...

  • iOS13 适配指南(持续更新中)

    1. UINavigationBar 设置按钮边距崩溃 iOS11开始 UINavigationBar 使用自动布...

网友评论

      本文标题:NSTableView在MacOS11.0以上的系统自动增加边距

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