Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 调整NSWindow大小时自动调整所有视图的大小_Objective C_Macos_Cocoa - Fatal编程技术网

Objective c 调整NSWindow大小时自动调整所有视图的大小

Objective c 调整NSWindow大小时自动调整所有视图的大小,objective-c,macos,cocoa,Objective C,Macos,Cocoa,调整NSView窗口的大小时,我正在尝试调整NSViewController中的所有子视图的大小。 NSWindow视图包含NSViewController.view作为子视图。我将自动调整大小设置为“是”,并将自动调整大小遮罩设置为水平和垂直 [self.view setAutoresizesSubviews:YES]; [background setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];

调整NSView窗口的大小时,我正在尝试调整NSViewController中的所有子视图的大小。 NSWindow视图包含NSViewController.view作为子视图。我将自动调整大小设置为“是”,并将自动调整大小遮罩设置为水平和垂直

        [self.view setAutoresizesSubviews:YES];
    [background setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
然而,这种技术对我不起作用。请注意,我的所有组件都是通过代码添加的,而不是使用IB。 因此,我的问题是:

  • 我应该添加什么以使其自动调整大小
  • 我使用OpenGL在另一个视图中绘制。我需要对新尺寸进行计算吗?当我在另一个应用程序中使用cocos2d时,我不必担心计算。那么这里有类似的事情吗

如果希望UI组件响应布局更改,则需要在UI组件上设置布局约束。 在IB中,有一些默认值不是您想要的,但它们可以调整

自动调整大小用词不当。根据预设布局约束调整组件的大小会更好,但名称要长得多

我想没有免费的午餐了。

试试这个:

[self.window.contentView setAutoresizesSubviews:YES];
而不是这个

[self.view setAutoresizesSubviews:YES];
如果仍然需要调整子视图的大小或重新定位子视图,可以在“委托”函数中执行此操作

- (void)windowDidResize:(NSNotification *)notification{ 
}