0

これで、複数のセクションを含むUITableViewができました。セクションタイトル(ABCDEなど)の開始文字をSectionIndexTitlesとしてリストを追加し、リストがまだdouble値でフィルタリングされていない場合のみ。

したがって、リストは次のようになります。

  • A
    • ヘッダー=ABBA
    • CD 1
    • CD 2
  • A
    • ヘッダー=AC/ DC
    • CD 1
    • CD 2
  • B
    • ヘッダー=バックストリートボーイズ
    • CD 1
    • CD 2
  • D
    • ヘッダー=D12
    • CD 1
    • CD 2
  • D
    • ヘッダー=ダミアン・ライス
    • CD 1
    • CD 2
  • D
    • ヘッダー=デヴィッド・ゲッタ
    • CD 1
    • CD 2
  • E
    • ヘッダー=ElvisPresley
    • CD 1
    • CD 2
  • E
    • ヘッダー=エリッククラプトン
    • CD 1
    • CD 2

すべて正常に動作しますが、私が欲しいのは次のとおりです。

  • A
    • ヘッダー=ABBA
    • CD 1
    • CD 2
    • ヘッダー=AC/ DC
    • CD 1
    • CD 2
  • B
    • ヘッダー=バックストリートボーイズ
    • CD 1
    • CD 2
  • D
    • ヘッダー=D12
    • CD 1
    • CD 2
    • ヘッダー=ダミアン・ライス
    • CD 1
    • CD 2
    • ヘッダー=デヴィッド・ゲッタ
    • CD 1
    • CD 2
  • E
    • ヘッダー=ElvisPresley
    • CD 1
    • CD 2
    • ヘッダー=エリッククラプトン
    • CD 1
    • CD 2

そして、あなたが文字Eに行くなら、あなたはエルビス・プレスリーから始めます。

すべての最初の文字を利用できるようにすることは問題ではありませんが、アプリケーションを実行してEをクリックすると、リストはElivsPresleyではなくD12に移動します。

したがって、問題はSectionIndexTitlesのインデックスとセクション自体に関係していますが、解決策が見つかりません...

4

1 に答える 1

2

で使用される前に、配列を区別してみてくださいSectionIndexTitles

sectionTitles = sectionTitles.Distinct().ToList();

したがって、セクションタイトルの二重のA文字とその他の文字を削除します。

セクションSectionForに正しくスクロールするには、メソッドコードを確認する必要があることに注意してください。UITableView

于 2013-01-16T08:12:41.477 に答える