標籤:xamarin ios 開發 實戰 上
Xamarin iOS開發實戰上冊-----2.2.2 使用代碼添加視圖
如果開發人員想要使用代碼為主視圖添加視圖,該怎麼辦呢。以下將為開發人員解決這一問題。要使用代碼為主視圖添加視圖需要實現3個步驟。
1.執行個體化視圖對象
每一個視圖都是一個特定的類。在C#中,經常會說,類是一個抽象的概念,而非具體的事物,所以要將類進行執行個體化。執行個體化一個視圖對象的具體文法如下:
視圖類 對象名=new 視圖類();
以我們接觸的第一個視圖View為例,它的執行個體化對象如下:
UIView vv=new UIView();
其中,UIView是空白視圖的類,vv是UIView類執行個體化出來的一個對象。
2.設定視圖的位置和大小
每一個視圖都是一個地區,所以需要為此地區設定位置和大小。設定位置和大小的屬性為Frame,其文法形式如下:
對象名.Frame=new RectangleF (X ,Y ,Width,Height);
其中,X和Y表示視圖在主視圖中的位置,Width和Height表示視圖的大小。以下為執行個體化的對象vv設定位置和大小:
vv.Frame = new RectangleF (0, 0, 320, 580);
其中,0和0表示此視圖的主視圖中的位置,320和580表示此視圖的大小。
注意:步驟1和步驟2也可以進行合并。例如,以下的代碼是將UIView類的執行個體化對象和設定位置大小進行了合并:
UIView vv = newUIView (new RectangleF (0, 0, 200, 200));
3.將視圖添加到當前的視圖中
最後,也是最為關鍵的一步,就是將執行個體化的對象添加到主視圖中。這樣才可以進行顯示。此時需要使用到AddSubview()方法,其文法形式如下:
this.View.AddSubview (視圖對象名);
以下將執行個體化的對象vv添加到當前的主視圖中,代碼如下:
this.View.AddSubview (vv);
【樣本2-2】以下將使用代碼為主視圖添加一個View空白視圖。代碼如下:
using System;using System.Drawing;using MonoTouch.Foundation;using MonoTouch.UIKit;namespace Application{ publicpartial class __2ViewController : UIViewController {…… //這裡省略了視圖控制器的構造方法和析構方法(視圖控制器的準系統就是負責處理與視圖的互動,我們會在後面講解) #regionView lifecycle publicoverride void ViewDidLoad () { base.ViewDidLoad(); UIView vv = new UIView (); //執行個體化對象 vv.Frame= new RectangleF (0, 0, 320, 580); //設定視圖對象的大小和位置 this.View.AddSubview (vv); //將視圖對象添加到當前視圖中 }…… //這裡省略了視圖載入和卸載前後的一些方法 #endregion }}
運行效果2.5所示。
圖2.5 運行效果
在此運行效果中也是看不到添加的視圖的。這是因為添加的視圖預設是白色的背景,如果想要看到視圖,需要設定它的背景。例如以下的代碼,將背景顏色設定為了淺灰色:
vv.BackgroundColor = UIColor.LightGray; //將背景設定為淺灰色
運行效果2.6所示。
圖2.6 運行效果
本資料源於《 Xamarin iOS開發實戰上冊》世界唯一中文成冊Xamarin學習資料!!!歡迎諮詢!!
Xamarin iOS開發實戰上冊-----2.2.2 使用代碼添加視圖