0

こんにちは、私のアプリケーションには検索バーがあり、結果をロードするためにテーブルビューを使用しています。このTableviewセルにはボタンとテキストフィールドがあります。これで、ボタンを使用してテーブルビューで使用可能な要素を配列に追加できるようになりました.追加ボタンを使用して配列にデータを追加し、テーブルビューを上下にスクロールした後の1つの問題に直面しています。 、追加ボタンのタイトルが実際に変更されています。ボタンのタイトルを変更したくありません。

私は次のようにケースを説明しています

1.追加ボタンを使用して要素を配列に追加した後、ボタンのタイトルを「追加」に変更する必要があります。これは完全に発生しています。テーブルを上下にスクロールすると、ボタンのタイトルが再び「追加」に変更されます。これを制御する方法を教えてください。

この場合、セル識別子はどのように機能するのでしょうか。よろしくお願いします。

4

1 に答える 1

0

どの項目ボタンがクリックされたかを保存する必要があると思います。スクロールしているときは、tableview がデータを再度ロードすることを意味するため、tableview の ViewForCell メソッドで、デフォルトのタイトルのボタンを追加しただけです。そのため、再びデフォルトに変更されます。だからあなたがしなければならないことは、ボタンのIDまたは他の識別子を保存することです

 btn.tag = indexpath.row ;

ボタンをクリックすると、タグを取得できます。のような可変配列に保存します。

[AddedData addObject:[NSNumber numberWithInt:btn.tag]];

そして、TableViewforCell メソッドに if 条件を追加します。

if([AddedData contains:[[NSNumber numberWithInt:indexpath.row]]])
{
      btn.titlelabel.text = @"Added";
}
else
{
       btn.titlelabel.text = @"Add";
}

それが役に立てば幸い!!

于 2013-07-30T06:49:25.763 に答える