[英]UIWebView in iOS
我正在创建一个应用程序,需要将一半的页面作为webview,另一半需要填充其他内容。 问题是,当我在UI构建器中布局视图时,它是正确的宽度和高度,但是当我实际加载它时,它会填满整个屏幕。
这是代码:
- (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
编程方式创建视图层次结构,也可以使用Interface Builder以图形方式创建视图层次结构。 你已经完成了两件事 - 你已经在Interface Builder中创建了你的视图,然后将它全部抛弃并以编程方式再次完成。
完全删除你的loadView
方法。 这就是擦除Interface Builder工作的原因。 默认的loadView
实现将反序列化您的nib并从中创建视图层次结构。
确保您的webView
IBOutlet已在Interface Builder中连接。 这是您的代码可以引用笔尖中的内容的方式。 当nib被反序列化时,它将存储你在这个ivar中的Interface Builder中布局的UIWebView
实例。
创建一个用于设置Web视图的viewDidLoad
方法。 加载nib文件并构建视图层次结构后,将调用此方法,因此所有视图都有效,您可以执行将HTML加载到Web视图中的操作。 你会想要这样的东西:
- (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];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.