设置 UIWebview 的框架

Posted

技术标签:

【中文标题】设置 UIWebview 的框架【英文标题】:Set frame of a UIWebview 【发布时间】:2013-07-26 02:17:28 【问题描述】:

我正在尝试更改 UIWebView 的大小以填充我的视图控制器。由于某种原因,它在不同设备上的大小不同,并且它的底部延伸到我的标签栏下方。

我已经确定了 UIWebView 框架的正确尺寸,并且我有一个设备类型的简短 switch 语句。

我正在使用 CGRectMake 使用此代码设置框架,但它不像普通视图那样工作。我在 ViewDidLoad 中调用它

CGRect frame=CGRectMake(0, -17, 320, 382);

self.weber.frame=frame;

【问题讨论】:

您是否在 nib/storyboard 文件中设置视图? “我有一个关于设备类型的简短 switch 语句”...请阅读自动调整布局,您会为自己和我们节省一些痛苦。 我以前用过它们,但它不起作用。我需要一个滚动视图吗? 【参考方案1】:

你可以试试这个来适应 UIWebview 框架

CGRect screenRect = [[UIScreen mainScreen] bounds];
self.weber.frame=screenRect;

【讨论】:

【参考方案2】:

这是您在没有自动布局的情况下如何调整大小和定位任何内容的方式。使用 self.view.frame

webView.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);

【讨论】:

【参考方案3】:

使用以下代码设置 webview 的框架:

self.webView.delegate = self;
self.webView.scalesPageToFit = YES;
self.title = @"Website";
// NSLog(@"Frame Webview: %@",NSStringFromCGRect(self.webView.frame));
self.webView.frame = CGRectMake(0, 0, 320, 400);
NSURLRequest* request = [NSURLRequest requestWithURL:WebUrl];
[self.webView loadRequest:request];

【讨论】:

以上是关于设置 UIWebview 的框架的主要内容,如果未能解决你的问题,请参考以下文章

调整 UIWebView 框架大小时如何禁用 UIWebView 调整内容大小

从网页控制 UIWebView

为啥 Youtube 视频没有填满 UiWebView?

UIWebView 在旋转时接管屏幕

UIWebView:使框架适合视图大小,允许在 UISplitViewController 上的该框架内滚动

UIScrollview中的UIWebview向scrollview发送垂直滚动事件