2011-03-17 85 views
3

我正在添加一个UIWebView到我的视图,当我在肖像时工作正常。但是当我在横向加载相同的UIWebView时,它不会填满屏幕。我怀疑它来自我如何设置框:当UIWebView框架加载横向和纵向时填充屏幕

CGRect screen = [[UIScreen mainScreen] bounds]; 
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, screen.size.width, screen.size.height)]; 
webView.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
webView.scalesPageToFit = YES; 

是否有更好的方法来做到这一点,以便正常加载在风景和肖像,并在旋转时充满屏幕?

回答

0

您是否确定父视图的大小调整为全宽? UIWebView的子视图不会比它的父...

+0

是,家长正确调整。 – 2011-03-17 18:40:49

+0

可能会将初始大小设置为父级的大小,然后在两个方向上设置调整大小标志以与父级调整大小。不知道如果你开始比父母大(我认为你是),会发生什么。可能会搞乱autoresizing逻辑。 – Dad 2011-03-19 21:40:21

0

我有同样的问题..后,我记录self.view.frame.size.width我很惊讶地发现,这是320而不是480.解决这个是:

- (void)viewWillAppear:(BOOL)animated { 
[self.view setBounds:CGRectMake(0.f, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
[self.view setCenter:CGPointMake(self.view.frame.size.width/2, self.view.frame.size.height/2)]; 
[(UIWebView*)myWebView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];} 

似乎self.frame的正确尺寸返回只是显示视图:)之前