Chr*_*her 7 formview webview ipad ios
我尝试了人类已知的每个排列,我无法在iPad的模态窗体视图中正确地调整UIWebView的大小.该网页仍然显示完整的iPad纵向宽度768点.
我在哪里以及如何告诉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;
...
}
Run Code Online (Sandbox Code Playgroud)
我也尝试在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];
}
Run Code Online (Sandbox Code Playgroud)
任何建议表示赞赏

这种事不断发生在我身上。我发布了一个很长的问题,两秒钟后我找到了答案。
不管怎样,有人在这里发布了这个问题的解决方案: UIWebView -- load external website,programmatically set initial ZoomScale,and allowed user to Zoom Later
但是,我更改了脚本以将宽度设置为 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];
}
Run Code Online (Sandbox Code Playgroud)
请注意“width = 540px,initial-scale = 1.0,user-scalable = yes”部分
我将宽度更改为表单宽度,将比例更改为 1.0。
我还需要处理iPhone,所以接下来我会对此进行调整。我认为这个修复可能只需要 iPad 表单视图。
更新:答案是短暂的。如果我加载任何其他页面,大小调整将再次被取消。回到原点。
解决方案:此视图只需要访问我开发的几个网页。因此,我通过向每个网页添加元标记来更新我需要访问的几个网页。我只需要访问这些页面,所以这是我计划采用的解决方案。这意味着我需要将 iPad 的视口宽度设置为 540px。接下来我会弄清楚这一点。
<meta name="viewport" content="width:540, initial-scale=1, maximum-scale=1">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1324 次 |
| 最近记录: |