我想将我的视图“对齐”到我的窗口右侧,而不调整大小。我在下面输入代码
tableContainer.autoresizingMask = NSViewHeightSizable | NSViewLayerContentsPlacementRight;
但它总是调整我的视图宽度。我只想创建一个宽度保持不变且始终位于窗口右侧的视图。所以就像 Photoshop 中的面板一样。我如何做到这一点?
我想将我的视图“对齐”到我的窗口右侧,而不调整大小。我在下面输入代码
tableContainer.autoresizingMask = NSViewHeightSizable | NSViewLayerContentsPlacementRight;
但它总是调整我的视图宽度。我只想创建一个宽度保持不变且始终位于窗口右侧的视图。所以就像 Photoshop 中的面板一样。我如何做到这一点?
您没有为autoresizingMask
. NSViewLayerContentsPlacementRight
枚举将与方法一起使用,setLayerContentsPlacement:
而不是setAutoresizingMask:
像您那样与方法一起使用。
根据文档,autoresizingMask
属性的值NSView
是以下值的按位或组合。
因此,出于您的目的,您需要使用NSViewMinXMargin
(而不是NSViewLayerContentsPlacementRight
),以便左边距灵活,而不是右边距,以便在调整超级视图大小时,您的视图将保持右边框的距离固定,从而保持它在其超级视图的右侧。
当然,如果您希望视图的高度与您看起来的父视图的高度一起调整大小,请NSViewMinXMargin
在按位或组合中使用它NSViewHeightSizable
tableContainer.autoresizingMask = NSViewHeightSizable | NSViewMinXMargin;