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的大小。有什么想法吗?