gpt4 book ai didi

objective-c - 我在我的 Cocoa 应用程序中添加了一个 WebView,它生成了一个错误

转载 作者:太空狗 更新时间:2023-10-30 03:23:56 26 4
gpt4 key购买 nike

我在我的应用程序中添加了一个 WebView,并使用以下代码将页面加载到其中:

-(void)awakeFromNib{
NSString *resourcesPath = [[NSBundle mainBundle] resourcePath];
NSString *htmlPath = [resourcesPath stringByAppendingString:@"/calendarHTML/test.html"];
[[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:htmlPath]]];
}

但是,当我运行该应用程序时,我收到以下错误:

Layout still needs update after calling -[WebHTMLView layout].  
WebHTMLView or one of its superclasses may have overridden
-layout without calling super. Or, something may have dirtied
layout in the middle of updating it. Both are programming errors in
Cocoa Autolayout. The former is pretty likely to arise if some
pre-Cocoa Autolayout class had a method called layout, but it should be fixed.!

error log

是什么导致了这个问题?

最佳答案

这是因为包含您放置 WebView 的窗口的 Nib 正在使用新的 Auto Layout。 Lion 中引入的功能。

当 nib 文件启用了自动布局时,窗口将调用窗口中所有 NSView 对象的 -layout 方法。

这会导致 WebView 出现问题,因为它有一个名为 -layout 的方法,然后该方法被添加到 Lion 中的 NSView API , 而 WebViewlayout 方法不理解自动布局。

目前最好的解决方法可能是使用旧的自动调整大小掩码方法在窗口中布置 View 。由于 Xcode 现在创建启用了自动布局的 nib 文件,您需要自行禁用它。

您可以在 nib 文件的文件检查器中通过禁用 Use Auto Layout 复选框来执行此操作。

interface builder inspector

执行此操作后,您需要确保 nib 中的所有 View 在 View 检查器的“大小”选项卡中具有正确的自动调整大小设置。

关于objective-c - 我在我的 Cocoa 应用程序中添加了一个 WebView,它生成了一个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10220152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com