Xamarin iOS教程之編輯界面編寫代碼

Xamarin iOS教程之編輯界面編寫代碼

Xamarin iOS的Interface Builder

Interface Builder被稱爲編輯界面。它是一個虛擬的圖形化設計工具,用來爲iOS應用程序建立圖形界面。單擊MainStoryboard.storyboard文件,就能夠打開編輯界面了。在Xamarin Studio 5.2.1後,編輯界面直接使用的是Storyboard故事面板,之前則使用的是XIB(對於XIB的使用會在後面的章節中講解)。大學霸它們之間最大的不一樣在於Storyboard故事面板能夠對多個主視圖進行設置,而XIB只能夠對一個主視圖進行設置。如下是對編輯界面的介紹。ide

1.界面構成工具

單擊MainStoryboard.storyboard文件,打開編輯界面後,能夠看到編輯界面會有4部分組成,如圖1.71所示。字體

1.71  界面構成ui

其中,編號爲1的部分爲主視圖的屬性設置,例如能夠設置主視圖的尺寸大小、iOS的版本等等。編號爲2的部分爲畫布,它是用於設計用戶界面的地方,在畫布中用箭頭指向的區域就是設計界面。在畫布中能夠有多個設計界面,通常將設計界面稱爲場景或者說是主視圖。編號爲3的部分爲工具欄,在此工具欄中存放了不少的視圖對象。編號爲4的部分爲屬性設置窗口,在其中能夠對視圖對象的屬性進行設置。spa

注意:在打開MainStoryboard.storyboard文件不少的開發者會遇到如下兩個問題:設計

1在打開MainStoryboard.storyboard文件後,會看到如圖1.72所示的錯誤。調試

出現此問題的緣由是此時的XamarinXcode不匹配造成的。此錯誤的解決辦法就是將Xamarin進行升級。code

2在打開MainStoryboard.storyboard文件後,會看到如圖1.73所示的錯誤。orm

1.72  錯誤1                                    1.73  錯誤2對象

此錯誤的解決辦法就是選擇Open in Xcode Interface Builder,將Xcode的編輯界面打開,而後關掉Xcode,此時就雙擊一次MainStoryboard.storyboard文件,就能夠將此文件打開了。

2.設計主視圖

若是想要iOS Simulator上顯示一個標籤,就要對編輯界面進行設置。選擇工具欄中的Label對象,將其拖動到畫布的主視圖中,如圖1.74所示。

1.74  操做步驟

在屬性中,對Label標籤對象的字體顏色以及對其方式進行設置,如圖1.75所示。設置後主視圖的效果如圖1.76所示。

 1.75  設置屬性                              1.76  主視圖的效果

運行效果如圖1.77所示。

1.77  運行效果

Xamarin iOS編寫代碼

除了可使用Interface Builder對主視圖進行設置外,還可使用代碼進行設置。代碼就是用來實現某一特定的功能,而用計算機語言編寫的命令序列的集合。如今就來實現經過代碼將標籤中顯示的內容設置爲Hello World字符串,操做步驟以下:

1回到MainStoryboard.storyboard文件,選擇主視圖上的Label對象,而後在屬性的Identity下將Name設置爲mylabel。(Name屬性將至關於爲Label對象起了一個別名,開發者能夠經過在Name中設置的內容來控制Label標籤,其餘的視圖也同樣)。

2打開HelloWorldViewController.cs文件,編寫代碼,實現將標籤中顯示的內容設置爲Hello World字符串。代碼以下:

  • using System;

  • using System.Drawing;

  • using MonoTouch.Foundation;

  • using MonoTouch.UIKit;

  • namespace HelloWorld

  • {

  •          public partial class HelloWorldViewController : UIViewController

  •          {

  • ……                                                                   //這裏省略了視圖控制器的構造方法和析構方法

  •                    #region View lifecycle

  •                    public override void ViewDidLoad ()

  •                    {

  •                             base.ViewDidLoad ();

  •                             mylabel.Text="Hello World";            //設置標籤中顯示的內容

  •                    }

  • ……                                                                 //這裏省略了視圖加載和卸載先後的一些方法

  •                    #endregion

  •          }

  • }

運行效果如圖1.78所示。

1.78  運行效果

Xamarin iOS設置狀態欄

狀態欄就是指在iOS中顯示有時間、電池用量的區域。狀態欄分爲兩部分:第一部分爲前景部分(就是指的顯示電池、時間等部分);第二部分爲背景部分(就是顯示黑色或者圖片的背景部分),如圖1.79所示。爲了製做一個用戶體驗高的應用程序,對於狀態欄的設置是很重要的。本小節將主要講解如何對狀態欄進行設置。

1.79  狀態欄

1.設置狀態欄的風格

iOS中狀態欄的風格有4種,如表1-4所示。

1-4  狀態欄風格

要想對狀態欄的風格進行設置就須要使用到PreferredStatusBarStyle()方法。

【示例】下面將以工程HelloWorld爲基礎,將狀態欄的前景部分爲白色。具體的操做步驟以下:

1打開MainStoryboard.storyboard文件,將主視圖的背景顏色即Background設置爲Scrollview Textured Background color

2打開HelloWorldViewController.cs文件,編寫代碼,實現狀態欄的前景部分變爲白色的效果。代碼以下:

  • public override UIStatusBarStyle PreferredStatusBarStyle ()

  • {

  •          return UIStatusBarStyle.LightContent;

  • }

此時運行程序,會看到如圖1.80所示的效果。

1.80  運行效果

2.隱藏狀態欄

有時開發者不但願狀態欄在本身的應用程序中出現,可使用PrefersStatusBarHidden()方法將其進行隱藏。

【示例】下面將以工程HelloWorld爲基礎,將狀態欄隱藏。具體的操做步驟以下:

打開HelloWorldViewController.cs文件,編寫代碼,實現狀態欄的隱藏。代碼以下:

  • public override bool PrefersStatusBarHidden ()

  • {

  •          return true;

  • }

此時運行程序,會看到如圖1.81所示的效果。

1.81  運行效果

Xamarin iOS調試程序

調試又被稱爲排錯,是發現和減小程序錯誤的一個過程。在Xamarin Studio中進行調試的須要實現如下幾個步驟:

1.添加斷點

在進行程序調試以前,首先須要爲程序添加斷點。斷點是指能夠暫停調試器中程序的運行,並可讓開發者查看程序的地方。將光標移到到要添加斷點的地方,按住Command+\鍵或者選擇菜單欄中的「運行|切換斷點」命令進行斷點的添加,以後會在添加斷點代碼的最左邊看到一個紅色的小圓圈,而且這一行也被塗成了紅色,如圖1.82所示。

1.82  添加斷點                                           1.83  執行斷點

 

2.運行程序

單擊運行按鈕後,程序就會運行。這時運行的程序會停留在斷點所在的位置處,此代碼最左邊的圓圈中會出現黑色的箭頭,而且代碼行被塗成了黃色,表示如今程序運行到的位置,如圖1.83所示。不只如此,iOS Simulator也會顯示界面,可是沒有內容。

 

3.斷點導航

在程序停留下來後,會出現斷點導航,如圖1.84所示。開發者可使用此導航來控制程序的執行。

1.84  斷點導航

Xamarin iOS文件簡紹

建立好工程後,會看到一些文件以及文件夾,如下針對幾個重要而且經常使用的文件進行講解。

q  Resources文件夾:裏面存放了應用程序所需的資源,如圖像、音樂文件等。

q  AppDelegate.cs:主要的應用程序類別(class),並接聽系統事件及相對應的事件處理.

q  Entitlements.plist:設置服務是否開啓等內容。

q  HelloWorldViewController.cs:負責視圖控制器的生命週期,也就是MVC分層的Controller

q  HelloWorldViewController.designer.cs:包含界面中對象的定義及動做(Action)的聲明。

q  Info.plist:應用程序的信息,如名稱、版本、圖示等等。

q  Main.cs應用程序的進入點。

q  MainStoryboard.storyboard:能夠用來設置應用程序的圖形界面。

本文選自:Xamarin iOS開發實戰大學霸內部資料,轉載請註明出處,尊重技術尊重IT人!

相關文章
相關標籤/搜索