Xamarin.iOSのiOSデザイナーでカスタムコントロールを使用する
2014年9月9日 (火) 03:28時点における153.219.199.89 (トーク)による版 (ページの作成:「Xamarin.iOSに搭載されるiOSデザイナーでは、標準コンポーネント(コントロール)に加え、自作のコンポーネントやXamarin Component...」)
Xamarin.iOSに搭載されるiOSデザイナーでは、標準コンポーネント(コントロール)に加え、自作のコンポーネントやXamarin Component Storeは販売配布されているコンポーネントを使用できるようだ。 [1]
要件
カスタムコンポーネントをデザイン領域上で扱えるようにするには以下の条件を満たす必要がある。
- MonoTouch.UIKit.UIViewまたはMonoTouch.UIKit.UIViewControllerを直接または間接的に継承していること。
- Objective-Cにクラス登録するためMonoTouch.Foundation.RegisterAttributeを持つこと。
- デフォルトコンストラクタ(引数のないコンストラクタ)と、引数にIntPtrを持つコンストラクタを持つこと。
こんな感じか。
using System;
using System.Drawing;
using MonoTouch.Foundation;
using MonoTouch.UIKit;
[Register("MBButtonEx")]
public class MBButtonEx : UIButton
{
public MBButtonEx() {}
public MBButtonEx(IntPtr handle)
: base(handle) {}
public MBButtonEx(RectangleF frame)
: base(frame)
{
InitUI();
}
public override void AwakeFromNib()
{
base.AwakeFromNib();
InitUI();
}
void InitUI()
{
this.TitleLabel.Text = "押せ!";
}
}