Xamarinを使用した開発でも、Macのみで開発すればInterface BuilderやStory Boardが使えます。
しかし、Visual Stuioを使用したXamarin.iOSではこれらは使えません。
本サイトではVisual Studioを使うので、すべてコーディングで画面を構成します。
(2014/6にStoryBoardが利用可能になりましたが、現時点では不具合が多く使い物にならなそうです)

イメージが湧くように、HelloWorldプロジェクトの画面を自分で作った画面に置き換えてみましょう。

プロジェクトを選択して、右クリックから「追加」⇒「クラス」を選択します。
適当な名称のクラスを作成します。
仮にSampleViewControllerとします。


以下のようなクラスが作成されます。
Xamarinのネームスペースは最低限のものが設定された状態になってます。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using MonoTouch.Foundation;
using MonoTouch.UIKit;
 
namespace HelloWorld
{
    class SampleViewController
    {
    }
}


これにコードを追加します。
HelloWorldプロジェクトで自動生成されたものと似てるとかの突込みはご勘弁(;´∀`)
※余談※
最近はAutoLayoutを使うので以下のような座標指定はあまりしません。

using MonoTouch.Foundation;
using MonoTouch.UIKit;
using System.Drawing;
 
namespace HelloWorld
{
    class SampleViewController : UIViewController
    {
        private UIButton _button;
        private UILabel _label;
        private int _count;
 
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
 
            // 背景色を変更
            base.View.BackgroundColor = UIColor.Green;
 
            // ボタンを作成
            float width = UIScreen.MainScreen.Bounds.Width * 0.5f;
            _button = new UIButton(UIButtonType.RoundedRect);
            _button.Frame = new RectangleF(width * 0.5f, 20f, width, 20f);
            _button.SetTitle("Hello"UIControlState.Normal);
 
            // ラベルを作成
            _label = new UILabel(new RectangleF(width * 0.5f, 100f, width, 20f));
            _label.Text = _count.ToString();
            _label.TextAlignment = UITextAlignment.Center;
            _label.TextColor = UIColor.Black;
 
            // ボタンを押した場合の動作を登録
            _button.TouchUpInside += (object sender, EventArgs e) =>
            {
                _count++;
                _label.Text = _count.ToString();
            };
 
            // 親Viewに追加
            base.View.AddSubview(_button);
            base.View.AddSubview(_label);
        }
    }
}


また、AppDelegate.csを作成したクラスを使用するように書き換えます。

namespace HelloWorld
{
    [Register("AppDelegate")]
    public partial class AppDelegate : UIApplicationDelegate
    {
        UIWindow window;
        //MyViewController viewController;
        SampleViewController viewController;
 
        public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            window = new UIWindow(UIScreen.MainScreen.Bounds);
 
            //viewController = new MyViewController();
            viewController = new SampleViewController();
            window.RootViewController = viewController;
 
            window.MakeKeyAndVisible();
 
            return true;
        }
    }
}


「デバッグ」⇒「デバッグなしで開始」から実行してみましょう。


Mac上でシミュレータが起動し、作成した画面が表示されます。
試しに「Hello」ボタンを押すとラベルがカウントアップされます。


ここで見ていただきたいのはコードそのものではなく、C#の通常の書き方でアプリが作成されている点です。

 Objective-CC#(Xamarin)
 オブジェクトの解放 release 自動
イベント処理 protocolとdelegate イベント
画面の作成 Interface Builder コーディング
クラスの定義 .hと.m .cs
文字列 NSString string


他にもコンテナ(List等)、デリゲート、LINQ、ラムダ式、.NETの書き方でのマルチタスクや非同期処理等が利用できます。
これがXamarinの素晴らしい所です。

※補足※
一部機能ではNSDate等のObjective-Cの構造を意識する必要があり、完全にC#の構文だけにはなりません。