0

メンバーIDという値があり、それを別のView Controllerに送信したいのですが、didSelectRowAtIndexPathに以下を配置すると、値は変数「member」に渡されます。

int memberIndex = [indexPath indexAtPosition: [indexPath length] - 1];
    member = [[tableDataSource2 objectAtIndex: memberIndex] objectForKey:@"Memberid"];

それがcellForRowに配置されている場合、もちろん、作成されたすべての行で書き換えられます。各行にviewControllerを起動するボタンがあります。ボタンアクションで行の「メンバー」を取得し、それを新しいコントローラーに渡します。「インデックスパスメソッドでdidSelectButton」またはその場でそれを取得する方法はありますか?

どんなアイデアも素晴らしいでしょう。UiTableviewにボタンを追加するのは初めてです。

ありがとう

4

2 に答える 2

1

アクセサリ ビューを使用しないのはなぜですか? これは、UI に必要なあらゆる種類の感触を与えたい任意の画像でスキンを付けることができる組み込みボタンです。次に、これをテーブルのデリゲートに追加します。

accessoryButtonTappedForRowWithIndexPath: (NSIndexPath *) indexPath{ ... }

その後、テーブル データ ソースでメソッドを呼び出して、セカンダリ ビューを起動できます。

于 2010-11-09T15:14:15.817 に答える
0

「タグ」で遊ぶだけ。

各 UIView には属性タグ (int) があります。

cellForRowAtIndexPath で:

//create yourButton and then
yourButton.tag = memberIndex;

IBAction を使用している場合は、送信者を取得するだけです。

- (IBAction) didSelectButton:(id)sender
{
int memberIndex = ((UIButton *)sender).tag;
//
}

ヒント : ボタンのアクション プロパティを設定するときに送信者を取得するには、「:」を忘れないでください。

例えば

action = @selector(didSelectButton:);
于 2010-11-09T15:18:07.893 に答える