2

UIButtoncustom 内に「Load More」がありますUITableViewCell。私のテーブルもデリゲートを使用しています。このボタンがクリックされたときにテーブル データをリロードしたい。ボタンをクリックしても何も起こらないことに気付きました。しかし、ボタンの周りの領域、つまり実際のセルをクリックすると、デリゲートは RowSelected イベントを取得します。SetSelected(true,false);ボタンの touch up inside イベントから使用して、デリゲートの RowSelected イベントが発生するかどうかを確認しようとしましたが、そうではありませんでした。

カスタムテーブルセルのボタンクリックで実際の行選択イベントを発生させる方法を誰かに説明してもらえますか? これが実行可能なオプションでない場合、ボタンをカスタム テーブル ビュー セル内に配置する以外に、「より多くのデータを読み込む」ためのより良い方法はありますか?

ありがとう!

更新: 以下のコードに示すように、ContentView.AddSubView を使用します。私は Monotouch を使用していますが、ロジックは同じであることに注意してください。

            public LoadMoreCell (string reuseCellIdentifier)
        :base(UITableViewCellStyle.Default, reuseCellIdentifier)
    {
        SelectionStyle = UITableViewCellSelectionStyle.None;

        _btnLoadMore = UIButton.FromType(UIButtonType.RoundedRect);
        _btnLoadMore.Frame = new RectangleF(10,5,300,30);
        _btnLoadMore.SetTitle("Load More", UIControlState.Normal);
        _btnLoadMore.UserInteractionEnabled = true;
        ContentView.AddSubview(_btnLoadMore);


    }

データをリロードする RowSelected メソッドを持つ TableDelegate がありますが、RowSelected は実際の行をクリックしたときにのみ発生します。

4

2 に答える 2

1

uibutton を次のように追加した可能性があると思います

[self addSubView:yourButton];

代わりに使用:-

[self.contentView addSubview:yourButton];

カスタムセルの他のすべてのコントロール。カスタムセルの初期化子でこれを行います:-

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {}
于 2012-05-18T09:55:38.910 に答える
0

テーブルのカスタム UITableViewDataSource を作成し、[さらに読み込む] ボタンをクリックすると、このデータソースのメソッドを呼び出して他のデータをデータソースのリストに追加し、このデータソースをテーブルに追加して、テーブル

this.tblData.ReloadData ();
于 2012-05-24T09:36:52.070 に答える