gpt4 book ai didi

iphone - iOS 中的 UIWebView

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:52:39 24 4
gpt4 key购买 nike

我正在创建一个应用程序,该应用程序要求页面的一半是 WebView ,另一半是其他内容。问题是,当我在 UI 构建器中布局 View 时,它的宽度和高度是正确的,但当我实际加载它时,它会填满整个屏幕。

代码如下:

- (void)loadView  
{
// Create a custom view hierarchy.
CGRect appFrame = [[UIScreen mainScreen] applicationFrame];
UIView *view = [[UIView alloc] initWithFrame:appFrame];
self.view = view;
[view release];

CGRect webFrame = [[UIScreen mainScreen] applicationFrame];
webView = [[UIWebView alloc] initWithFrame:webFrame];
webView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:webView];

NSString *html = @"<html><head><title>Should be half</title></head><body>I wish the answer were just 42</body></html>";
[webView loadHTMLString:html baseURL:nil];
}

最佳答案

大部分代码您都不需要。一般来说,您可以在 loadView 中以编程方式创建 View 层次结构,也可以使用 Interface Builder 以图形方式创建 View 层次结构。您已经完成了这两项工作 - 您已经在 Interface Builder 中创建了 View ,然后将其全部丢弃并以编程方式再次完成。

完全删除您的 loadView 方法。这就是消灭您的 Interface Builder 工作的原因。默认的 loadView 实现将反序列化您的 nib 并从中创建您的 View 层次结构。

确保您的 webView IBOutlet 已在 Interface Builder 中连接。这就是您的代码如何引用 Nib 中的内容。当 nib 被反序列化时,它会将您在 Interface Builder 中布局的 UIWebView 实例存储在此 ivar 中。

创建一个 viewDidLoad 方法来设置 WebView 。一旦加载了 nib 文件并构建了 View 层次结构,就会调用此方法,因此所有 View 都将有效,并且您可以执行诸如将 HTML 加载到 Web View 中之类的操作。你会想要这样的东西:

- (void)viewDidLoad
{
NSString *html = @"<html><head><title>Should be half</title></head><body>I wish the answer were just 42</body></html>";
[webView loadHTMLString:html baseURL:nil];
}

关于iphone - iOS 中的 UIWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4784892/

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