UIWebView 旋转时不是全屏
UIWebView not full screen on rotate
(这看起来像是一个已经 asked/answered 100 次但我无法解决的问题。)
我有一个基于故事板的视图控制器。嵌套在主视图中的是一个webUIView。
在控制器方法 viewDidLoad 中,我只是指定 URL 并将视图和 webUIView 设置为自动调整大小:
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"web_app_build"]];
NSURLRequest *request=[NSURLRequest requestWithURL:url];
[_browser loadRequest:request];
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.view.autoresizesSubviews = TRUE;
self.browser.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
我也加了这个方法
-(void)viewWillLayoutSubviews {
[super viewWillLayoutSubviews];
self.browser.frame = self.view.bounds;
}
当我旋转设备时,webUIView 会旋转,但不会调整大小以填满屏幕。我确实尝试编写自己的旋转处理程序,但这似乎是完全错误的方法。
我读过 apple doc on the topic。如何使 webUIview 调整大小以适应旋转时的显示大小?
您遇到的问题是 self.view.bounds
很可能在旋转后尚未调整到边界。设置一个断点来检查这一点。我会将代码移至 viewDidLayoutSubviews:
。如果您不需要支持 iOS 6 之前的 iOS 版本,我强烈建议您考虑对视图对象使用自动布局。它会让你的生活更轻松。
(这看起来像是一个已经 asked/answered 100 次但我无法解决的问题。)
我有一个基于故事板的视图控制器。嵌套在主视图中的是一个webUIView。
在控制器方法 viewDidLoad 中,我只是指定 URL 并将视图和 webUIView 设置为自动调整大小:
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"web_app_build"]];
NSURLRequest *request=[NSURLRequest requestWithURL:url];
[_browser loadRequest:request];
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.view.autoresizesSubviews = TRUE;
self.browser.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
我也加了这个方法
-(void)viewWillLayoutSubviews {
[super viewWillLayoutSubviews];
self.browser.frame = self.view.bounds;
}
当我旋转设备时,webUIView 会旋转,但不会调整大小以填满屏幕。我确实尝试编写自己的旋转处理程序,但这似乎是完全错误的方法。
我读过 apple doc on the topic。如何使 webUIview 调整大小以适应旋转时的显示大小?
您遇到的问题是 self.view.bounds
很可能在旋转后尚未调整到边界。设置一个断点来检查这一点。我会将代码移至 viewDidLayoutSubviews:
。如果您不需要支持 iOS 6 之前的 iOS 版本,我强烈建议您考虑对视图对象使用自动布局。它会让你的生活更轻松。