Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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 调整NSBox及其内容的大小以适应窗口_Objective C_Cocoa_Webview_Nsbox - Fatal编程技术网

Objective c 调整NSBox及其内容的大小以适应窗口

Objective c 调整NSBox及其内容的大小以适应窗口,objective-c,cocoa,webview,nsbox,Objective C,Cocoa,Webview,Nsbox,听起来很简单,但我似乎无法理解这一点,也找不到任何帮助 这是我目前的层次结构: Window Custom View (I want this to resize, with its children, to fit Window) Custom View (Contains buttons) NSBox (gets content set to the WebView below) WebView 在应用程序加载时,我调用“NSBox”上的setCon

听起来很简单,但我似乎无法理解这一点,也找不到任何帮助

这是我目前的层次结构:

Window
    Custom View (I want this to resize, with its children, to fit Window)
        Custom View (Contains buttons)
        NSBox (gets content set to the WebView below)
WebView
在应用程序加载时,我调用“NSBox”上的setContentView到WebView

因此,我最终得到了一个NSBox,其中包含一个自定义视图中的WebView

如果我有一个iAction链接到一个按钮,我需要做什么来调整外部自定义视图的大小以适应窗口?希望这也能调整内容的大小,包括NSBox和WebView

这可能吗

非常感谢您的帮助

提前谢谢大家

编辑:ATM我有以下代码,使一个网络视图变大,另一个隐藏,但它在窗口中的位置太高

oldView.hidden = YES;
[newView setFrameSize:_window.frame.size];

除非旧视图位于窗口contentView坐标中的{0,0},否则当您将其大小更改为窗口的大小时,它将过高。试试这个:


[newView setFrame:[[u window.contentView frame]]

您使用的是Cocoa自动布局还是老式的自动调整大小遮罩?无论哪种情况,这都是可能的。您必须设置约束以使长方体的边与包含视图的边绑定,或者在“大小检查器”上设置自动调整大小遮罩以执行此操作。设置约束应该只需要将内容拖到“捕捉到”向导中。@Ken Thomases我理解你的意思,也许我没有很好地解释自己。我有2个在我的应用程序中的网络视图,我需要使一个或其他全屏点击从原来的较小的大小。这能做到吗?谢谢你的帮助answer@KenThomases我更新了我的原始帖子,代码几乎可以正常工作,有什么想法吗?嗯,窗口的框架不仅仅包含框,所以它的大小比框的内容视图大。为什么不直接将新视图的大小设置为旧视图的大小?@Kenthomass我有两个不同大小的网络视图,点击后我想取一个网络视图,并用它填充窗口,反之亦然,我肯定缺少一些东西来回答你的问题,这几乎奏效了。我还必须调整newView容器的大小,对吗?如果我这样做,内容仍然会被切断。有什么想法吗?再次感谢这一点,你应该能够在IB中做到这一点,正如@KenThomases在他的评论中所说的那样。您需要将第二个视图设置为使用第一个视图展开,将框设置为使用第二个视图展开。我已经这样做了,但是如何以编程方式告诉视图调整大小以适应窗口?我的意思是隐藏一个网络视图,并在不调整大小的情况下调整窗口大小。你说的是哪种视图?我发布的代码应该对外部视图执行此操作。内部视图的用途是什么?您发布的代码运行得很好,但是在该视图中有一个视图和一个webview,但是您的代码似乎只调整了webview的大小。有什么想法吗?