MonoTouchでHelloWorld!! (InterfaceBuilderを使わないVer.)
今回はInterface Builderを使わずにHelloworldをやってみる。
Interface Builder有りのHelloWorldは前回参照のこと。
ソリューション名:Helloworld2_Sol
プロジェクト名:Helloworld2
新しいプロジェクトが生成された構成。
InterfaceBuilderは使わないので、最初にMainWindow.xibを削除します。
この状態からとりあえずプロジェクト生成時の状態まで復元しましょう。
まずAppdeligateとの関連付けが切れたためUIApplication.Main関数でAppDelegateクラス名を関数の引数として渡します。
static void Main (string[] args)
{
UIApplication.Main( args, null, "AppDelegate" );
}
次にAppdelegateはpartialでは無くなったため、AppDelegateクラスのpartial宣言を削除。
これは元々MainWindow.xib.designer.csでpartial定義されていたためこのような記述になっていました。
そして、appdelegateクラスの定義の先頭に[Register("AppDelegate")を宣言しましょう。
次に削除したwindowコントロールの生成を行います。
Appdelegateクラスのメンバー変数としてUIWindowを宣言し、
FinishedLaunching関数内でコントロースの生成します。
ここで背景を白にするためBackgroundColorにUIColor.Whiteをセット。
これで、ひとまずMain関数からAppDelegateが呼び出されwindowコントロールを表示する所までたどり着きました。
次にAppdelegateクラスのメンバー変数としてUILabelとUIBottomを宣言
UILabel生成時のプロパティは次の通り
UIBottom生成時のプロパティ
次にボタンイベントを定義します。
ちなみに次の記述でも可能。
2つのコントロールをUIWindowコントロールに追加。
それではビルドしてみましょう。
ボタンクリックでHelloworld!
InterfaceBulderで作成したHelloworldとほぼ同じようになりました。
細かいプロパティについては分からないんですが・・・
以上がinterfaceビルダーを全く使わずHelloWorldを表示させる手順となります。
さすがに表示位置などを細かく調整するのが面倒ですが、これはこれでメリットがあるようにも思えます。
まぁ適材適所で使えばいいということでしょうか。