UIButton
custom 内に「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 は実際の行をクリックしたときにのみ発生します。