好的......只是做一些自学。以为我会尝试创建我认为是youtube的简单webview。因此webview打开了Youtube,但内容远离屏幕。就像将页面传递给更大的设备或其他东西一样。
我尝试了多个网站,例如谷歌和相同的结果,屏幕上的文字或屏幕上的图像。我认为它会缩小,当我使用iPhone上的Safari进入网站时它会正常显示但是通过app / webview我得到:
这是我的viewcontroller.m:
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
webPage.delegate = self;
webPage.scalesPageToFit = NO;
NSString *website = @"http://www.youtube.com:";
NSURL *url = [NSURL URLWithString:website];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webPage loadRequest:request];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[webPage stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.querySelector('meta[name=viewport]').setAttribute('content', 'width=%d;', false); ", (int)webPage.frame.size.width]];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
这是我的viewcontroller.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UIWebViewDelegate>{
IBOutlet UIWebView *webPage;
}
@end
答案 0 :(得分:1)
试试这个
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
webView.scalesPageToFit = YES;//set here
return YES;
}
答案 1 :(得分:0)
好的,对我来说,有效的方法是在我的Main.storyboard上选择UIWebView,然后单击右下角的Resolve Auto Layout Issues按钮。 (图标是一个小三角形,两边都有垂直线......看起来有点像星球大战的领带战斗机......哈哈)从那里我选择了#34;重置为建议的约束条件&#34;并再次运行我的应用程序...一切正确显示!感谢Agent和Ayan指出我在正确的方向上有限制!