如何在UIModalPresentationFormSheet中设置UIWebView的大小?
我尝试了人类已知的所有排列方式,并且我无法在iPad的模式窗体视图中正确设置UIWebView的大小。 该网页仍然显示768点的完整iPad肖像宽度。
我在哪里以及如何让UIWebView显示宽度540点?
我认为'scalesPageToFit'应该这样做,但它不起作用。
我试图将web视图设置为540 x 576的导航和状态栏的窗体视图的大小。 尽管高度是无关紧要的。
我尝试添加一个UIWebView到故事板中的UIView,并设置了所有的大小调整。 然后,我删除了UIWebView并以编程方式添加它。
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect aFrame = self.view.frame;
if (IS_IPAD)
{
aFrame = CGRectMake(0, 0, FORM_VIEW_WIDTH, FORM_VIEW_HEIGHT);
}
_webView = [[UIWebView alloc] initWithFrame:aFrame];
[_webView setOpaque:NO];
[_webView setDelegate:self];
[_webView setScalesPageToFit:YES];
self.view = _webView;
...
}
我也尝试加载viewDidAppear(除了viewDidLoad,viewWillAppear等)
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[[self webView] setFrame:CGRectMake(0, 0, FORM_VIEW_WIDTH, FORM_VIEW_HEIGHT)];
[[self webView] setScalesPageToFit:YES];
NSURL *webURL = [NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:webURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:5.0f];
[[self webView] loadRequest:request];
}
任何建议的赞赏。
这一直在发生在我身上。 我发表了一个冗长的问题,然后两秒钟后我找到了答案。
无论如何,有人在这里发布了这个问题的解决方案:UIWebView - 加载外部网站,以编程方式设置初始缩放比例,并允许用户随后缩放
不过,我修改了脚本以将宽度设置为iPad宽度:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString* js =
@"var meta = document.createElement('meta'); "
@"meta.setAttribute( 'name', 'viewport' ); "
@"meta.setAttribute( 'content', 'width = 540px, initial-scale = 1.0, user-scalable = yes' ); "
@"document.getElementsByTagName('head')[0].appendChild(meta)";
[[self webView] stringByEvaluatingJavaScriptFromString: js];
}
注意这部分'width = 540px,initial-scale = 1.0,user-scalable = yes'
我将宽度更改为窗体宽度并缩放到1.0。
我也需要处理iPhone,因此我会为下一步做出调整。 我认为这个修复可能只需要iPad的表格视图。
更新:答案是短暂的。 如果我加载任何其他页面,大小将再次丢失。 回到原点。
解决方案:这个视图只需要访问我开发的几个网页。 因此,我通过为每个网页添加元标记来更新我需要访问的几个网页。 我只需要访问这些页面,所以这是我计划使用的解决方案。 这意味着我需要以某种方式将视口宽度设置为540px。 接下来我会弄清楚。
<meta name="viewport" content="width:540, initial-scale=1, maximum-scale=1">
链接地址: http://www.djcxy.com/p/12605.html
上一篇: How to size UIWebView in a UIModalPresentationFormSheet?
下一篇: Is it possible to implement bitwise operators using integer arithmetic?