【问题标题】:Get height of content in NSTableView获取 NSTableView 中内容的高度
【发布时间】:2012-07-04 13:08:37
【问题描述】:

有没有办法在NSTableView 中获取内容的高度。在 iOS 中,您可以使用 UIScrollView-contentSize 方法。但是,NSScrollView-contentSize 方法似乎只返回了 NSScrollView 的可见部分的高度,不包括屏幕外的任何内容。

那么,如何在 Mac 上做到这一点?

【问题讨论】:

    标签: objective-c macos cocoa nstableview nsscrollview


    【解决方案1】:

    可以通过

    获得NSTableView的真实内容高度
    • Objective-C 版本: tableView.intrinsicContentSize.height

    • Swift 版本:tableView.intrinsicContentSize.height

    【讨论】:

      【解决方案2】:

      Appkit 中的- (NSSize)contentSize 返回NSClipView 的大小,而不是在表格视图中滚动的内容的高度。我不知道UIScrollViews 是如何工作的,但在 OS X 上,NSScrollView 有一个“内容视图”(更恰当地命名为NSClipView),它可以剪切由文档视图提供的实际内容(如果它的大小大于剪辑视图的大小,则可滚动),它是剪辑视图的子视图。

      附带说明,NSScrollView 通过设置文档视图的边界原点来滚动(据我所知)。

      看起来你想要的是文档视图的高度,即实际内容的高度。为此,请尝试类似

      scrollView.documentView.frame.size.height 
      

      【讨论】:

      • 不幸的是,这还包括以前删除的行的空间。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-16
      • 2012-10-18
      • 2013-09-04
      • 2016-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多