我希望将我的视图“对齐”到我的窗口右侧,而不是调整大小。我输入了下面的代码
tableContainer.autoresizingMask = NSViewHeightSizable | NSViewLayerContentsPlacementRight;
但它总是调整我的视图宽度。我只是想创建一个宽度保持不变的视图,并始终坚持窗口的右侧。就像Photoshop中的面板一样。我如何实现这一目标?
答案 0 :(得分:1)
您没有为autoresizingMask
使用正确的常量。 NSViewLayerContentsPlacementRight
枚举与setLayerContentsPlacement:
方法一起使用,而不是与setAutoresizingMask:
方法一起使用。
autoresizingMask
NSView
属性的值是the following values, according to the documentation的按位或组合。
因此,出于您的目的,您需要使用 NSViewMinXMargin
(而非NSViewLayerContentsPlacementRight
),以便左边距灵活,但不是右边距,因此在调整超级视图的大小时,您的视图将保持右边框的距离固定,从而将其保持在超级视图的右侧。
当然,如果您希望视图的高度与其超高视图的高度一起调整,请将此NSViewMinXMargin
与NSViewHeightSizable
按位或组合使用
tableContainer.autoresizingMask = NSViewHeightSizable | NSViewMinXMargin;