2012-07-08 66 views
5

我遇到了與我的UIWebView有關的問題。當視圖加載它在任何方向加載它的罰款,完全填充整個頁面等。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; 

} 

如果我看在界面生成器,我試圖找到,讓我來設置擴大寬度,或者你叫它什麼都面板,但我可以看到這是。

enter image description here

任何幫助,將不勝感激

回答

1

在界面生成器,下拉菜單的地方說:「佈局矩形」,單擊它並選擇「矩形框架」。

或者,您可以覆蓋您的視圖控制器中的willAnimateRotationToInterfaceOrientation:方法,並像在viewDidLoad中那樣手動設置座標/大小。

+0

奇怪的是,即使我這樣做,它不改變菜單的外觀......我想也許我需要重新安裝xcode。我會嘗試shouldAutototateToInterfaceOrientation現在..但是,這將改變UIView幀的大小,以適應水平視圖。 – HurkNburkS 2012-07-09 01:00:39

+0

對不起,我的意思是寫'willAnimateRotationToInterfaceOrientation:'方法。與您在'viewDidLoad'方法中檢查方向的方式類似,您可以在此執行同樣的操作並調整視圖的框架。 – sooper 2012-07-09 01:21:38

+0

對於你的界面生成器的問題,我建議你閱讀這篇文章[這裏](http://stackoverflow.com/questions/9370072/xcode-4-3-not-presenting-autoresizing-panel-in-size-inspector ) – sooper 2012-07-09 01:27:37

4

除了手動設置框,你也可以設置自動調整大小面具爲:

measurementsWebView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

將調整webView的情況下,你在屏幕上有沒有其他元素(其中,我採取它,你沒有,從你調整measurementsWebView時使用的值)。或者,直接從如下圖所示的筆尖:

auto-resize from nib

面具可以通過點擊在框中紅柱設置稱爲自動調整大小朝左下方。

3

viewDidLoad運行一次 - 視圖加載時。

如果您想在出現旋轉時手動調整框架,請添加代碼以將其大小調整爲viewDidLayoutSubviews,每當視圖旋轉時調用該框架。

-(void)viewDidLayoutSubviews { 

    [super viewDidLayoutSubviews]; 

    self.measurementsWebView.frame = self.view.bounds; 

} 
+0

簡單而簡單,謝謝 – peroija 2015-05-22 13:12:08