MonoTouch アプリに非常に単純なダイアグラム機能を組み込むための仕様があります。今までやらなければならなかったことはすべてテーブルベースだったので、これは新しい領域です。
MindMeister や SimpleMind マインド マッピング アプリなど、アプリ ストアにはダイアグラムの例が数多くあります。
ユーザーがビューをクリックして、新しい形状を「配置」し、ラベルを付け、オプションで既存の形状に接続できるようにする必要があります。
この種のインタラクティブな機能を実現するには、どのようなアプローチがよいでしょうか? 私の最初の方法はUIImageView
、カスタム イメージから作成されたイメージを配置し、タッチ イベントに応答して移動できるようにすることです。ただし、テキスト オーバーレイを追加する場合は、2 つのビュー (画像とテキストの両方) を管理する必要があるため、問題はさらに複雑になります。
どのようなアプローチに従うことができますか?
PS: これが SO にふさわしくない場合は、意のままにスマイトしてください!
更新: 基本的な図要素は、単純なラベルのオーバーライドを使用して実現できます。
UILabel lbl = new UILabel(new RectangleF(...));
lbl.Text = "Whatever";
lbl.Layer.BorderWidth = 3f;
lbl.Layer.BorderColor ( new CGColor (1f, 0f, 0f) );
this.Add (lbl);
gui 要素クラスを拡張し、TouchesBegan
、TouchesMoved
およびTouchesEnd
イベントをオーバーライドすることで、ある程度の対話性を実現できます。