0

日付ソースを作成するためにこのクラスがあります。UIViewControllerこのクラスを使用して を作成するにはどうすればよいですか?

public partial class JogosSource : UITableViewSource {

    List<TableItem> tableItems; 
    string cellIdentifier = "TableCell";

    public JogosSource (List<TableItem> items)
    {
    }

    public override int RowsInSection (UITableView tableview, int section)
    {
    }

    public override void RowSelected (UITableView tableView, NSIndexPath indexPath)
    {
    }

    public override UITableViewCell GetCell (UITableView tableView, MonoTouch.Foundation.NSIndexPath indexPath)
    {
    }
}
4

1 に答える 1

1

私はあなたの質問を理解しているのかよくわかりません。

UITableViewSourceは、両方のメソッドを含む1つの便利なクラスにUITableViewDelegate結合するクラスです。UITableViewDataSource

したがって、JogoSourceMTドキュメントに記述されているように、そのクラスを使用する場合は、次のことを行う必要があります。

このオブジェクトのインスタンスをUITableView.Sourceプロパティに割り当てます。

要素を作成するには、UITableView次の3つの方法があります。

  • サブクラスan UITableViewController(このクラスには独自のテーブルビューがあります)

  • UIViewController独自のXIBでaをサブクラス化し、メインビュー内でテーブルをドラッグして、アウトレットにリンクします

  • サブクラスa UIViewController(独自のXIBを使用します。これはオプションです)、コードでテーブルを作成します

テーブルビューインスタンスのの設定はSource、メソッドで行うことができますViewDidLoad。ここでは、たとえば、コンセントが正しく設定されていることを確認できます。

this.YourTable = new JogoSource(yourItems);

簡単なアドバイス

通常、クラスを扱う場合、UITableViewSourceそのコンストラクター内に、そのソースを「制御」するコントローラーを挿入することもできます。これは、たとえば、を扱う場合に役立ちますUINavigationController

だから、私はのctrを変更しJogoSourceます

public JogosSource (UIViewController injectedController, List<TableItem> items)
{
    // _controller is a private var of type UIViewController
    _controller = injectedController;
}

たとえば、コントローラがに挿入されていて、親(のインスタンス)にアクセスすることUINavigationControllerにより、行を選択するときに詳細を表示する必要がある場合。_controllerUINavigationController

PSテーブルを作成する他の可能性がありますが、私は主なものをリストしました。さらに、手書きで書いたのでコードを確認してください。

お役に立てば幸いです。

于 2012-06-21T16:40:13.373 に答える