2009-10-04 33 views
1

我在界面構建器中創建了一個視圖,其中包含另一個視圖(內容區域)和底部的按鈕欄。iPhone中的Monotouch自動調整大小視圖

層次結構是:

->View 
--->mapContainer UIView 
----->map MKMapView 
----->OverlayView UIView 
--->ToolBar UIToolBar 

我想mapContainer來調整到滿窗口時,工具欄隱藏。 我想將地圖和OverlayView調整爲mapContainer大小

我已經嘗試了下面的代碼,但它沒有效果。請指教?

public override void ViewDidLoad() 
{ 
    base.ViewDidLoad(); 
    this.mapContainer.AutosizesSubviews = true ; 
    this.View.AutosizesSubviews = true ; 
    try 
    { 
    this.mapContainer.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth ; 
    this.map.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth ; 
    this.map.SizeToFit(); 
    this.mapContainer.SizeToFit(); 
    this.map.SizeToFit(); 
    this.View.Frame = new System.Drawing.RectangleF(0,0,this.View.Frame.Width, this.View.Frame.Height); 
    this.mapContainer.LayoutSubviews(); 

    } 
    catch(Exception ex) 
    { 
    Console.Write(ex.ToString()); 
    } 
} 

回答

1

您還可以嘗試重寫覆蓋方法中的子視圖public override void LayoutSubviews與您的類。

在那裏你可以重置所有幀的幀。 SizeToFit()方法有一種不能工作的趨勢,因爲它的名字聽起來......因此,首先要適合尺寸,然後重置框架。

希望它有幫助:)