我的UIWebView存在问题。当视图加载时,它会以任意方向加载,完美填充整个页面等。
然而,如果我以纵向加载它然后旋转设备,webview不会一直填充到右侧,我不能为我的生活找出原因。
这是我的观点做了加载方法
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib
if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortrait){
self.measurementsWebView.frame = CGRectMake(0, 0, 320, 367);
}else if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeLeft || [[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeRight){
self.measurementsWebView.frame = CGRectMake(0, 0, 480, 218);
}
NSString *path = [[NSBundle mainBundle] pathForResource:@"measurements" ofType:@"png"];
[measurementsWebView loadHTMLString:[NSString stringWithFormat:@"<html><body><img src=\"file://%@\"></body></html>",path] baseURL:nil];
measurementsWebView.scalesPageToFit = YES;
}
如果我查看界面构建器,我正在尝试找到允许我设置扩展宽度的面板或者你所谓的它,但我只能看到这一点。
任何帮助将不胜感激
答案 0 :(得分:4)
您也可以将自动调整大小的蒙版设置为:
,而不是手动设置框架 measurementsWebView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
如果您在屏幕上没有其他元素(我认为,您从调整大小measurementsWebView
时使用的值中删除了它们),它将调整webView的大小。或者,直接从笔尖,如下图所示:
可以通过单击左下方名为自动调整大小的框中的红色条来设置蒙版。
答案 1 :(得分:3)
viewDidLoad
- 视图加载时。
如果要在旋转发生时手动调整帧,请添加代码以在viewDidLayoutSubviews
中调整大小,只要视图旋转,就会调用它。
-(void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
self.measurementsWebView.frame = self.view.bounds;
}
答案 2 :(得分:1)
在界面构建器的下拉菜单中,显示“布局矩形”,单击它并选择“框架矩形”。
或者,您可以覆盖视图控制器中的willAnimateRotationToInterfaceOrientation:
方法,并像在viewDidLoad
中一样手动设置坐标/大小。