Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.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
Cocoa 如何计算缩放网络视图的正确大小?_Cocoa_Macos_Webkit - Fatal编程技术网

Cocoa 如何计算缩放网络视图的正确大小?

Cocoa 如何计算缩放网络视图的正确大小?,cocoa,macos,webkit,Cocoa,Macos,Webkit,我的窗口中有一个网络视图。当用户单击缩放按钮(窗口左上角的绿色按钮)时,我想更改窗口的大小,使WebView刚好能够显示网页,如Mac HCI指南中所建议的那样 问题是:如何计算要缩放到的WebView的大小 谢谢。哦,对不起,那么你应该把它倒过来:) 我不这么认为。有时需要重新调整Web视图的宽度和高度,不是吗?首先,1)没有适合窗口宽度的网页,没有边框宽度/高度,2)我不知道视图中项目的大小,这些你必须自己调整。上面的代码适用于我的示例代码。 - (IBAction)resizeToView

我的窗口中有一个网络视图。当用户单击缩放按钮(窗口左上角的绿色按钮)时,我想更改窗口的大小,使WebView刚好能够显示网页,如Mac HCI指南中所建议的那样

问题是:如何计算要缩放到的WebView的大小


谢谢。

哦,对不起,那么你应该把它倒过来:)


我不这么认为。有时需要重新调整Web视图的宽度和高度,不是吗?首先,1)没有适合窗口宽度的网页,没有边框宽度/高度,2)我不知道视图中项目的大小,这些你必须自己调整。上面的代码适用于我的示例代码。
- (IBAction)resizeToView:(id)sender
{
    // webview content sub/document-view
    NSView *docView =[[[webView mainFrame] frameView] documentView]; 
    NSRect docRect = [docView frame];

    // height and width
    int height = docRect.size.height;
    int width = docRect.size.width;

    NSRect frame = [window frame];
    int delta = height - frame.size.height;

    // y/height
    frame.origin.y -= delta;
    frame.size.height += delta;

    // x/width
    frame.size.width = width; 

    [window setFrame:frame display:YES]; 
}