自定义NSView是否有办法知道它是否嵌入在NSScrollView中?

我正在创建一个自定义NSView来显示一些内容。
当我的视图放置在窗口或其他视图中时,其大小是固定的,内容将被裁剪为可用大小。
当我的视图放置在NSScrollView中时,必须根据内容调整其大小,以便可以在需要时进行滚动。
我知道我可以在视图中添加一个成员,该成员指定承载我的视图的NSScrollView并在代码中手动设置此成员,但是我想知道是否还有另一种方法?

最佳答案

您没有检查NSView的方法吗?

@property(readonly, strong) NSScrollView *enclosingScrollView;

要么

var enclosingScrollView: NSScrollView? { get }


  包含当前视图的最接近的祖先滚动视图。
  
  如果当前视图未嵌入在滚动视图内,则此属性的值为nil。如果当前视图本身是滚动视图,则此属性不包含当前视图。它始终包含一个祖先滚动视图。

关于cocoa - 嵌入在NSSscrollView中的自定义NSView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44495260/

10-13 04:00